All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: OPTION
    functionSourceFile: /src/fuzz_optparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTION(t, p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: af_safe_gb_init
      Src: /src/fuzz_optparse.c:41,1
    - Dst: ada_safe_get_char_p
      Src: /src/fuzz_optparse.c:42,1
    - Dst: ada_safe_get_char_p
      Src: /src/fuzz_optparse.c:43,1
    - Dst: ada_safe_get_char_p
      Src: /src/fuzz_optparse.c:46,1
    - Dst: strdup
      Src: /src/fuzz_optparse.c:50,1
    - Dst: strdup
      Src: /src/fuzz_optparse.c:51,1
    - Dst: ada_safe_get_int
      Src: /src/fuzz_optparse.c:52,1
    - Dst: fuse_opt_parse
      Src: /src/fuzz_optparse.c:54,1
    - Dst: free
      Src: /src/fuzz_optparse.c:55,1
    - Dst: free
      Src: /src/fuzz_optparse.c:56,1
    - Dst: af_safe_gb_cleanup
      Src: /src/fuzz_optparse.c:57,1
    - Dst: free
      Src: /src/fuzz_optparse.c:60,1
    - Dst: free
      Src: /src/fuzz_optparse.c:61,1
    - Dst: fuse_opt_free_args
      Src: /src/fuzz_optparse.c:63,1
    - Dst: af_safe_gb_cleanup
      Src: /src/fuzz_optparse.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_optparse.c
    functionUses: 0
    functionsReached:
    - strdup
    - af_safe_gb_init
    - ada_safe_get_char_p
    - fuse_opt_free_args
    - fuse_opt_parse
    - af_safe_gb_cleanup
    - free
    - ada_safe_get_int
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/libfuse/test/test_signals.c:33,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/test/test_signals.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: test_ll_lookup
    functionSourceFile: /src/libfuse/test/test_signals.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - sleep
    linkageType: ''
    returnType: void
    signature: void test_ll_lookup(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/libfuse/test/test_signals.c:43,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/test/test_signals.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: test_ll_getattr
    functionSourceFile: /src/libfuse/test/test_signals.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - sleep
    linkageType: ''
    returnType: void
    signature: "void test_ll_getattr(fuse_req_t req, fuse_ino_t ino,\n\t\t\t    struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/libfuse/test/test_signals.c:56,1
    - Dst: kill
      Src: /src/libfuse/test/test_signals.c:59,1
    - Dst: getpid
      Src: /src/libfuse/test/test_signals.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: signal_sender_thread
    functionSourceFile: /src/libfuse/test/test_signals.c
    functionUses: 0
    functionsReached:
    - getpid
    - usleep
    - kill
    linkageType: ''
    returnType: void
    signature: void *signal_sender_thread(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/test/test_signals.c:65,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/test/test_signals.c:73,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_signals.c:74,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/test/test_signals.c:79,1
    - Dst: strdup
      Src: /src/libfuse/test/test_signals.c:82,1
    - Dst: mkdtemp
      Src: /src/libfuse/test/test_signals.c:83,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_signals.c:84,1
    - Dst: fuse_session_new
      Src: /src/libfuse/test/test_signals.c:89,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_signals.c:91,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/test/test_signals.c:96,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_signals.c:97,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/test/test_signals.c:102,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_signals.c:104,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/test/test_signals.c:107,1
    - Dst: fuse_loop_cfg_set_max_threads
      Src: /src/libfuse/test/test_signals.c:108,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/test/test_signals.c:111,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_signals.c:112,1
    - Dst: pthread_create
      Src: /src/libfuse/test/test_signals.c:117,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_signals.c:118,1
    - Dst: fuse_session_loop_mt_312
      Src: /src/libfuse/test/test_signals.c:123,1
    - Dst: printf
      Src: /src/libfuse/test/test_signals.c:125,1
    - Dst: printf
      Src: /src/libfuse/test/test_signals.c:126,1
    - Dst: fuse_session_exited
      Src: /src/libfuse/test/test_signals.c:126,1
    - Dst: printf
      Src: /src/libfuse/test/test_signals.c:127,1
    - Dst: fuse_session_exited
      Src: /src/libfuse/test/test_signals.c:130,1
    - Dst: pthread_join
      Src: /src/libfuse/test/test_signals.c:133,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/test/test_signals.c:134,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/test/test_signals.c:135,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/test/test_signals.c:136,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/test/test_signals.c:137,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_signals.c:138,1
    - Dst: free
      Src: /src/libfuse/test/test_signals.c:139,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/test/test_signals.c:140,1
    - Dst: printf
      Src: /src/libfuse/test/test_signals.c:144,1
    - Dst: exit
      Src: /src/libfuse/test/test_signals.c:145,1
    - Dst: printf
      Src: /src/libfuse/test/test_signals.c:147,1
    - Dst: exit
      Src: /src/libfuse/test/test_signals.c:148,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/test/test_signals.c:151,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/test/test_signals.c:153,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/test/test_signals.c:155,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/test/test_signals.c:157,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_signals.c:159,1
    - Dst: free
      Src: /src/libfuse/test/test_signals.c:160,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/test/test_signals.c:162,1
    - Dst: exit
      Src: /src/libfuse/test/test_signals.c:163,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 164
    functionName: fork_child
    functionSourceFile: /src/libfuse/test/test_signals.c
    functionUses: 0
    functionsReached:
    - fuse_session_unmount
    - pthread_join
    - fuse_session_mount
    - rmdir
    - FUSE_ARGS_INIT
    - pthread_create
    - fuse_opt_free_args
    - fuse_session_destroy
    - fuse_set_signal_handlers
    - exit
    - strdup
    - fuse_session_new
    - fuse_loop_cfg_destroy
    - fuse_remove_signal_handlers
    - fuse_session_exited
    - fuse_loop_cfg_set_max_threads
    - fuse_loop_cfg_set_clone_fd
    - mkdtemp
    - fuse_session_loop_mt_312
    - fprintf
    - free
    - fuse_opt_add_arg
    - fuse_loop_cfg_create
    - printf
    linkageType: ''
    returnType: void
    signature: void fork_child(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/libfuse/test/test_signals.c:171,1
    - Dst: perror
      Src: /src/libfuse/test/test_signals.c:173,1
    - Dst: exit
      Src: /src/libfuse/test/test_signals.c:174,1
    - Dst: fork_child
      Src: /src/libfuse/test/test_signals.c:178,1
    - Dst: waitpid
      Src: /src/libfuse/test/test_signals.c:181,1
    - Dst: perror
      Src: /src/libfuse/test/test_signals.c:182,1
    - Dst: exit
      Src: /src/libfuse/test/test_signals.c:183,1
    - Dst: WIFSIGNALED
      Src: /src/libfuse/test/test_signals.c:187,1
    - Dst: WTERMSIG
      Src: /src/libfuse/test/test_signals.c:187,1
    - Dst: printf
      Src: /src/libfuse/test/test_signals.c:188,1
    - Dst: exit
      Src: /src/libfuse/test/test_signals.c:189,1
    - Dst: exit
      Src: /src/libfuse/test/test_signals.c:193,1
    - Dst: WIFEXITED
      Src: /src/libfuse/test/test_signals.c:193,1
    - Dst: WEXITSTATUS
      Src: /src/libfuse/test/test_signals.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 194
    functionName: run_test_in_child
    functionSourceFile: /src/libfuse/test/test_signals.c
    functionUses: 0
    functionsReached:
    - perror
    - WIFSIGNALED
    - WIFEXITED
    - WTERMSIG
    - waitpid
    - fork_child
    - fork
    - WEXITSTATUS
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void run_test_in_child(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/test/test_signals.c:198,1
    - Dst: run_test_in_child
      Src: /src/libfuse/test/test_signals.c:199,1
    - Dst: printf
      Src: /src/libfuse/test/test_signals.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/libfuse/test/test_signals.c
    functionUses: 0
    functionsReached:
    - run_test_in_child
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libfuse/test/readdir_inode.c:20,1
    - Dst: opendir
      Src: /src/libfuse/test/readdir_inode.c:24,1
    - Dst: perror
      Src: /src/libfuse/test/readdir_inode.c:26,1
    - Dst: readdir
      Src: /src/libfuse/test/readdir_inode.c:31,1
    - Dst: strcmp
      Src: /src/libfuse/test/readdir_inode.c:33,1
    - Dst: strcmp
      Src: /src/libfuse/test/readdir_inode.c:33,1
    - Dst: printf
      Src: /src/libfuse/test/readdir_inode.c:34,1
    - Dst: fprintf
      Src: /src/libfuse/test/readdir_inode.c:37,1
    - Dst: fprintf
      Src: /src/libfuse/test/readdir_inode.c:40,1
    - Dst: fprintf
      Src: /src/libfuse/test/readdir_inode.c:44,1
    - Dst: readdir
      Src: /src/libfuse/test/readdir_inode.c:47,1
    - Dst: perror
      Src: /src/libfuse/test/readdir_inode.c:50,1
    - Dst: closedir
      Src: /src/libfuse/test/readdir_inode.c:54,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/libfuse/test/readdir_inode.c
    functionUses: 0
    functionsReached:
    - perror
    - readdir
    - opendir
    - fprintf
    - strcmp
    - closedir
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - enum fuse_opcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: opname
    functionSourceFile: /src/libfuse/test/stracedecode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *opname(enum fuse_opcode opcode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/test/stracedecode.c:68,1
    - Dst: opname
      Src: /src/libfuse/test/stracedecode.c:70,1
    - Dst: printf
      Src: /src/libfuse/test/stracedecode.c:76,1
    - Dst: printf
      Src: /src/libfuse/test/stracedecode.c:83,1
    - Dst: printf
      Src: /src/libfuse/test/stracedecode.c:95,1
    - Dst: strerror
      Src: /src/libfuse/test/stracedecode.c:97,1
    - Dst: printf
      Src: /src/libfuse/test/stracedecode.c:103,1
    - Dst: printf
      Src: /src/libfuse/test/stracedecode.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - dir
    - buf
    - len
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 119
    functionName: process_buf
    functionSourceFile: /src/libfuse/test/stracedecode.c
    functionUses: 0
    functionsReached:
    - strerror
    - opname
    - printf
    linkageType: ''
    returnType: void
    signature: void process_buf(int dir, char *buf, int len)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/test/stracedecode.c:130,1
    - Dst: fscanf
      Src: /src/libfuse/test/stracedecode.c:134,1
    - Dst: feof
      Src: /src/libfuse/test/stracedecode.c:135,1
    - Dst: strncmp
      Src: /src/libfuse/test/stracedecode.c:141,1
    - Dst: strncmp
      Src: /src/libfuse/test/stracedecode.c:144,1
    - Dst: getc
      Src: /src/libfuse/test/stracedecode.c:151,1
    - Dst: getc
      Src: /src/libfuse/test/stracedecode.c:156,1
    - Dst: fprintf
      Src: /src/libfuse/test/stracedecode.c:158,1
    - Dst: fprintf
      Src: /src/libfuse/test/stracedecode.c:162,1
    - Dst: getc
      Src: /src/libfuse/test/stracedecode.c:170,1
    - Dst: scanf
      Src: /src/libfuse/test/stracedecode.c:178,1
    - Dst: fprintf
      Src: /src/libfuse/test/stracedecode.c:180,1
    - Dst: fprintf
      Src: /src/libfuse/test/stracedecode.c:185,1
    - Dst: process_buf
      Src: /src/libfuse/test/stracedecode.c:195,1
    - Dst: memset
      Src: /src/libfuse/test/stracedecode.c:196,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 199
    functionName: main
    functionSourceFile: /src/libfuse/test/stracedecode.c
    functionUses: 0
    functionsReached:
    - process_buf
    - fscanf
    - feof
    - strncmp
    - memset
    - fprintf
    - scanf
    - getc
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: OPTION
    functionSourceFile: /src/libfuse/test/hello.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTION(t, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - cfg
    argTypes:
    - struct fuse_conn_info*
    - struct fuse_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: hello_init
    functionSourceFile: /src/libfuse/test/hello.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *hello_init(struct fuse_conn_info *conn, struct fuse_config *cfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/test/hello.c:68,1
    - Dst: strcmp
      Src: /src/libfuse/test/hello.c:69,1
    - Dst: strcmp
      Src: /src/libfuse/test/hello.c:72,1
    - Dst: strlen
      Src: /src/libfuse/test/hello.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: hello_getattr
    functionSourceFile: /src/libfuse/test/hello.c
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int hello_getattr(const char *path, struct stat *stbuf,\n\t\t\t struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/test/hello.c:90,1
    - Dst: filler
      Src: /src/libfuse/test/hello.c:93,1
    - Dst: filler
      Src: /src/libfuse/test/hello.c:94,1
    - Dst: filler
      Src: /src/libfuse/test/hello.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - path
    - buf
    - filler
    - offset
    - fi
    - flags
    argTypes:
    - char*
    - void*
    - fuse_fill_dir_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: hello_readdir
    functionSourceFile: /src/libfuse/test/hello.c
    functionUses: 0
    functionsReached:
    - strcmp
    - filler
    linkageType: ''
    returnType: int
    signature: "int hello_readdir(const char *path, void *buf, fuse_fill_dir_t filler,\n\t\t\t
      off_t offset, struct fuse_file_info *fi,\n\t\t\t enum fuse_readdir_flags flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/test/hello.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: hello_open
    functionSourceFile: /src/libfuse/test/hello.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int hello_open(const char *path, struct fuse_file_info *fi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/test/hello.c:116,1
    - Dst: strlen
      Src: /src/libfuse/test/hello.c:119,1
    - Dst: memcpy
      Src: /src/libfuse/test/hello.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: hello_read
    functionSourceFile: /src/libfuse/test/hello.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int hello_read(const char *path, char *buf, size_t size, off_t offset,\n\t\t
      \     struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/test/hello.c:140,1
    - Dst: printf
      Src: /src/libfuse/test/hello.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: show_help
    functionSourceFile: /src/libfuse/test/hello.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_help(const char *progname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/test/hello.c:152,1
    - Dst: strdup
      Src: /src/libfuse/test/hello.c:158,1
    - Dst: strdup
      Src: /src/libfuse/test/hello.c:159,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/test/hello.c:162,1
    - Dst: show_help
      Src: /src/libfuse/test/hello.c:172,1
    - Dst: assert
      Src: /src/libfuse/test/hello.c:173,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/test/hello.c:173,1
    - Dst: fuse_main
      Src: /src/libfuse/test/hello.c:177,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/test/hello.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (fuse_opt_add_arg(&args, "--help") == 0)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/libfuse/test/hello.c
    constantsTouched: []
    func_position:
      end: 180
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/libfuse/test/hello.c
    functionUses: 1
    functionsReached:
    - strdup
    - assert
    - fuse_opt_free_args
    - fuse_opt_parse
    - show_help
    - fuse_opt_add_arg
    - fuse_main
    - FUSE_ARGS_INIT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libfuse/test/test_abi.c:11,1
    - Dst: exit
      Src: /src/libfuse/test/test_abi.c:12,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_abi.c:15,1
    - Dst: exit
      Src: /src/libfuse/test/test_abi.c:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: main
    functionSourceFile: /src/libfuse/test/test_abi.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libfuse/test/test_want_conversion.c:14,1
    - Dst: printf
      Src: /src/libfuse/test/test_want_conversion.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - conn
    argTypes:
    - char*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: print_conn_info
    functionSourceFile: /src/libfuse/test/test_want_conversion.c
    functionUses: 0
    functionsReached:
    - container_of
    - printf
    linkageType: ''
    returnType: void
    signature: void print_conn_info(const char *prefix, struct fuse_conn_info *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/test/test_want_conversion.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: application_init_old_style
    functionSourceFile: /src/libfuse/test/test_want_conversion.c
    functionUses: 0
    functionsReached:
    - fuse_set_feature_flag
    linkageType: ''
    returnType: void
    signature: void application_init_old_style(struct fuse_conn_info *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/test/test_want_conversion.c:38,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/test/test_want_conversion.c:39,1
    - Dst: fuse_unset_feature_flag
      Src: /src/libfuse/test/test_want_conversion.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: application_init_new_style
    functionSourceFile: /src/libfuse/test/test_want_conversion.c
    functionUses: 0
    functionsReached:
    - fuse_unset_feature_flag
    - fuse_set_feature_flag
    linkageType: ''
    returnType: void
    signature: void application_init_new_style(struct fuse_conn_info *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/test/test_want_conversion.c:46,1
    - Dst: application_init_new_style
      Src: /src/libfuse/test/test_want_conversion.c:49,1
    - Dst: application_init_old_style
      Src: /src/libfuse/test/test_want_conversion.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - new_style
    argTypes:
    - struct fuse_conn_info*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: test_fuse_fs_init
    functionSourceFile: /src/libfuse/test/test_want_conversion.c
    functionUses: 0
    functionsReached:
    - application_init_new_style
    - application_init_old_style
    - fuse_set_feature_flag
    linkageType: ''
    returnType: void
    signature: void test_fuse_fs_init(struct fuse_conn_info *conn, bool new_style)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_lower_32_bits
      Src: /src/libfuse/test/test_want_conversion.c:61,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/test/test_want_conversion.c:63,1
    - Dst: print_conn_info
      Src: /src/libfuse/test/test_want_conversion.c:67,1
    - Dst: test_fuse_fs_init
      Src: /src/libfuse/test/test_want_conversion.c:71,1
    - Dst: print_conn_info
      Src: /src/libfuse/test/test_want_conversion.c:72,1
    - Dst: fuse_convert_to_conn_want_ext
      Src: /src/libfuse/test/test_want_conversion.c:74,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:75,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:78,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:79,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:80,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:81,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:82,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:83,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:86,1
    - Dst: print_conn_info
      Src: /src/libfuse/test/test_want_conversion.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - new_style
    argTypes:
    - struct fuse_conn_info*
    - bool
    assertStmts:
    - condition: (rc == 0)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/libfuse/test/test_want_conversion.c
    - condition: (!(conn->want_ext & FUSE_CAP_SPLICE_READ))
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/libfuse/test/test_want_conversion.c
    - condition: (conn->want_ext & FUSE_CAP_SPLICE_WRITE)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/libfuse/test/test_want_conversion.c
    - condition: (conn->want_ext & FUSE_CAP_SPLICE_MOVE)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/libfuse/test/test_want_conversion.c
    - condition: (conn->want_ext & FUSE_CAP_EXPORT_SUPPORT)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/libfuse/test/test_want_conversion.c
    - condition: (conn->want_ext & FUSE_CAP_ASYNC_READ)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/libfuse/test/test_want_conversion.c
    - condition: (conn->want_ext & FUSE_CAP_IOCTL_DIR)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/libfuse/test/test_want_conversion.c
    - condition: "(conn->want_ext ==\n\t       (FUSE_CAP_SPLICE_WRITE | FUSE_CAP_SPLICE_MOVE
        |\n\t\tFUSE_CAP_EXPORT_SUPPORT | FUSE_CAP_ASYNC_READ |\n\t\tFUSE_CAP_IOCTL_DIR))"
      pos:
        line_end: 88
        line_start: 85
        source_file: /src/libfuse/test/test_want_conversion.c
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: test_do_init
    functionSourceFile: /src/libfuse/test/test_want_conversion.c
    functionUses: 0
    functionsReached:
    - assert
    - test_fuse_fs_init
    - print_conn_info
    - fuse_set_feature_flag
    - fuse_convert_to_conn_want_ext
    - fuse_lower_32_bits
    linkageType: ''
    returnType: void
    signature: void test_do_init(struct fuse_conn_info *conn, bool new_style)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/test/test_want_conversion.c:97,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/test/test_want_conversion.c:102,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_want_conversion.c:103,1
    - Dst: errx
      Src: /src/libfuse/test/test_want_conversion.c:104,1
    - Dst: fuse_session_new
      Src: /src/libfuse/test/test_want_conversion.c:108,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:109,1
    - Dst: printf
      Src: /src/libfuse/test/test_want_conversion.c:111,1
    - Dst: test_do_init
      Src: /src/libfuse/test/test_want_conversion.c:112,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/test/test_want_conversion.c:113,1
    - Dst: fuse_session_new
      Src: /src/libfuse/test/test_want_conversion.c:115,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:116,1
    - Dst: printf
      Src: /src/libfuse/test/test_want_conversion.c:118,1
    - Dst: test_do_init
      Src: /src/libfuse/test/test_want_conversion.c:119,1
    - Dst: print_conn_info
      Src: /src/libfuse/test/test_want_conversion.c:120,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/test/test_want_conversion.c:121,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/test/test_want_conversion.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (se)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/libfuse/test/test_want_conversion.c
    - condition: (se)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/libfuse/test/test_want_conversion.c
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: test_want_conversion_basic
    functionSourceFile: /src/libfuse/test/test_want_conversion.c
    functionUses: 0
    functionsReached:
    - fuse_session_new
    - assert
    - errx
    - print_conn_info
    - fuse_opt_free_args
    - test_do_init
    - fprintf
    - fuse_opt_add_arg
    - fuse_session_destroy
    - FUSE_ARGS_INIT
    - printf
    linkageType: ''
    returnType: void
    signature: void test_want_conversion_basic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/test/test_want_conversion.c:132,1
    - Dst: fuse_lower_32_bits
      Src: /src/libfuse/test/test_want_conversion.c:139,1
    - Dst: fuse_lower_32_bits
      Src: /src/libfuse/test/test_want_conversion.c:141,1
    - Dst: print_conn_info
      Src: /src/libfuse/test/test_want_conversion.c:142,1
    - Dst: fuse_convert_to_conn_want_ext
      Src: /src/libfuse/test/test_want_conversion.c:148,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:149,1
    - Dst: print_conn_info
      Src: /src/libfuse/test/test_want_conversion.c:150,1
    - Dst: printf
      Src: /src/libfuse/test/test_want_conversion.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (rc == -EINVAL)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/libfuse/test/test_want_conversion.c
    constantsTouched: []
    func_position:
      end: 153
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 153
    functionName: test_want_conversion_conflict
    functionSourceFile: /src/libfuse/test/test_want_conversion.c
    functionUses: 0
    functionsReached:
    - assert
    - print_conn_info
    - fuse_convert_to_conn_want_ext
    - fuse_lower_32_bits
    - printf
    linkageType: ''
    returnType: void
    signature: void test_want_conversion_conflict(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/test/test_want_conversion.c:160,1
    - Dst: fuse_lower_32_bits
      Src: /src/libfuse/test/test_want_conversion.c:164,1
    - Dst: print_conn_info
      Src: /src/libfuse/test/test_want_conversion.c:165,1
    - Dst: fuse_convert_to_conn_want_ext
      Src: /src/libfuse/test/test_want_conversion.c:167,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:168,1
    - Dst: assert
      Src: /src/libfuse/test/test_want_conversion.c:169,1
    - Dst: print_conn_info
      Src: /src/libfuse/test/test_want_conversion.c:170,1
    - Dst: printf
      Src: /src/libfuse/test/test_want_conversion.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (rc == 0)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/libfuse/test/test_want_conversion.c
    - condition: (conn.want_ext == ((1ULL << 33) | FUSE_CAP_ASYNC_READ))
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/libfuse/test/test_want_conversion.c
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: test_want_conversion_high_bits
    functionSourceFile: /src/libfuse/test/test_want_conversion.c
    functionUses: 0
    functionsReached:
    - assert
    - print_conn_info
    - fuse_convert_to_conn_want_ext
    - fuse_lower_32_bits
    - printf
    linkageType: ''
    returnType: void
    signature: void test_want_conversion_high_bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_want_conversion_basic
      Src: /src/libfuse/test/test_want_conversion.c:177,1
    - Dst: test_want_conversion_conflict
      Src: /src/libfuse/test/test_want_conversion.c:178,1
    - Dst: test_want_conversion_high_bits
      Src: /src/libfuse/test/test_want_conversion.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/libfuse/test/test_want_conversion.c
    functionUses: 1
    functionsReached:
    - test_want_conversion_conflict
    - test_want_conversion_basic
    - test_want_conversion_high_bits
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - conn
    - cfg
    argTypes:
    - struct fuse_conn_info*
    - struct fuse_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: xmp_init
    functionSourceFile: /src/libfuse/test/release_unlink_race.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *xmp_init(struct fuse_conn_info *conn,\n\t\t      struct fuse_config
      *cfg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/libfuse/test/release_unlink_race.c:39,1
    - Dst: lstat
      Src: /src/libfuse/test/release_unlink_race.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: xmp_getattr
    functionSourceFile: /src/libfuse/test/release_unlink_race.c
    functionUses: 0
    functionsReached:
    - fstat
    - lstat
    linkageType: ''
    returnType: int
    signature: "int xmp_getattr(const char *path, struct stat *stbuf,\n\t\t\tstruct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/libfuse/test/release_unlink_race.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: xmp_unlink
    functionSourceFile: /src/libfuse/test/release_unlink_race.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int xmp_unlink(const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libfuse/test/release_unlink_race.c:66,1
    - Dst: usleep
      Src: /src/libfuse/test/release_unlink_race.c:66,1
    - Dst: rename
      Src: /src/libfuse/test/release_unlink_race.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - from
    - to
    - flags
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: xmp_rename
    functionSourceFile: /src/libfuse/test/release_unlink_race.c
    functionUses: 0
    functionsReached:
    - rename
    - getenv
    - usleep
    linkageType: ''
    returnType: int
    signature: int xmp_rename(const char *from, const char *to, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/test/release_unlink_race.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - mode
    - fi
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: xmp_create
    functionSourceFile: /src/libfuse/test/release_unlink_race.c
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int xmp_create(const char *path, mode_t mode, struct fuse_file_info
      *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libfuse/test/release_unlink_race.c:91,1
    - Dst: usleep
      Src: /src/libfuse/test/release_unlink_race.c:91,1
    - Dst: close
      Src: /src/libfuse/test/release_unlink_race.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: xmp_release
    functionSourceFile: /src/libfuse/test/release_unlink_race.c
    functionUses: 0
    functionsReached:
    - close
    - getenv
    - usleep
    linkageType: ''
    returnType: int
    signature: int xmp_release(const char *path, struct fuse_file_info *fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/libfuse/test/release_unlink_race.c:109,1
    - Dst: fuse_main
      Src: /src/libfuse/test/release_unlink_race.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/libfuse/test/release_unlink_race.c
    functionUses: 2
    functionsReached:
    - fuse_main
    - umask
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libfuse/test/wrong_command.c:5,1
    - Dst: fprintf
      Src: /src/libfuse/test/wrong_command.c:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 16
    functionName: main
    functionSourceFile: /src/libfuse/test/wrong_command.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ino
    - stbuf
    argTypes:
    - fuse_ino_t
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: tfs_stat
    functionSourceFile: /src/libfuse/test/test_setattr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tfs_stat(fuse_ino_t ino, struct stat *stbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/test/test_setattr.c:61,1
    - Dst: strcmp
      Src: /src/libfuse/test/test_setattr.c:65,1
    - Dst: tfs_stat
      Src: /src/libfuse/test/test_setattr.c:70,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/test/test_setattr.c:72,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/test/test_setattr.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: tfs_lookup
    functionSourceFile: /src/libfuse/test/test_setattr.c
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - tfs_stat
    - fuse_reply_err
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: "void tfs_lookup(fuse_req_t req, fuse_ino_t parent,\n                       const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/test/test_setattr.c:85,1
    - Dst: tfs_stat
      Src: /src/libfuse/test/test_setattr.c:86,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/test/test_setattr.c:87,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/test/test_setattr.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: tfs_getattr
    functionSourceFile: /src/libfuse/test/test_setattr.c
    functionUses: 0
    functionsReached:
    - tfs_stat
    - memset
    - fuse_reply_attr
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void tfs_getattr(fuse_req_t req, fuse_ino_t ino,\n                        struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/test/test_setattr.c:95,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:97,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/test/test_setattr.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts:
    - condition: (ino == FILE_INO)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/libfuse/test/test_setattr.c
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: tfs_open
    functionSourceFile: /src/libfuse/test/test_setattr.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_reply_open
    - assert
    linkageType: ''
    returnType: void
    signature: "void tfs_open(fuse_req_t req, fuse_ino_t ino,\n                     struct
      fuse_file_info *fi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/test/test_setattr.c:107,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_setattr.c:112,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_setattr.c:114,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_setattr.c:116,1
    - Dst: tfs_getattr
      Src: /src/libfuse/test/test_setattr.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - req
    - ino
    - attr
    - to_set
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct stat*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: tfs_setattr
    functionSourceFile: /src/libfuse/test/test_setattr.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fprintf
    - tfs_getattr
    linkageType: ''
    returnType: void
    signature: "void tfs_setattr (fuse_req_t req, fuse_ino_t ino, struct stat *attr,\n
      \                        int to_set, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:133,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/test/test_setattr.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (fuse_session_loop(se) == 0)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/libfuse/test/test_setattr.c
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: run_fs
    functionSourceFile: /src/libfuse/test/test_setattr.c
    functionUses: 0
    functionsReached:
    - assert
    - fuse_session_loop
    linkageType: ''
    returnType: void
    signature: void * run_fs(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:141,1
    - Dst: snprintf
      Src: /src/libfuse/test/test_setattr.c:141,1
    - Dst: open
      Src: /src/libfuse/test/test_setattr.c:143,1
    - Dst: perror
      Src: /src/libfuse/test/test_setattr.c:145,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:146,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:149,1
    - Dst: fchmod
      Src: /src/libfuse/test/test_setattr.c:149,1
    - Dst: close
      Src: /src/libfuse/test/test_setattr.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mountpoint
    argTypes:
    - char*
    assertStmts:
    - condition: "(snprintf(fname, PATH_MAX, \"%s/\" FILE_NAME,\n                     mountpoint)
        > 0)"
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libfuse/test/test_setattr.c
    - condition: (0)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/libfuse/test/test_setattr.c
    - condition: (fchmod(fd, 0600) == 0)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/libfuse/test/test_setattr.c
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: test_fs
    functionSourceFile: /src/libfuse/test/test_setattr.c
    functionUses: 0
    functionsReached:
    - perror
    - assert
    - fchmod
    - open
    - close
    - snprintf
    linkageType: ''
    returnType: void
    signature: void test_fs(char *mountpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/test/test_setattr.c:154,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:159,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/test/test_setattr.c:159,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:161,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/test/test_setattr.c:161,1
    - Dst: fuse_session_new
      Src: /src/libfuse/test/test_setattr.c:163,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:165,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:166,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/test/test_setattr.c:166,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:167,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/test/test_setattr.c:167,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:170,1
    - Dst: pthread_create
      Src: /src/libfuse/test/test_setattr.c:170,1
    - Dst: test_fs
      Src: /src/libfuse/test/test_setattr.c:173,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:176,1
    - Dst: pthread_cancel
      Src: /src/libfuse/test/test_setattr.c:176,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/test/test_setattr.c:178,1
    - Dst: assert
      Src: /src/libfuse/test/test_setattr.c:179,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/test/test_setattr.c:180,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/test/test_setattr.c:181,1
    - Dst: printf
      Src: /src/libfuse/test/test_setattr.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (got_fh == 1)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/libfuse/test/test_setattr.c
    - condition: (fuse_opt_add_arg(&args, "-oauto_unmount") == 0)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/libfuse/test/test_setattr.c
    - condition: (fuse_session_mount(se, fuse_opts.mountpoint) == 0)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/libfuse/test/test_setattr.c
    - condition: (pthread_create(&fs_thread, NULL, run_fs, (void *)se) == 0)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/libfuse/test/test_setattr.c
    - condition: (fuse_parse_cmdline(&args, &fuse_opts) == 0)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/libfuse/test/test_setattr.c
    - condition: (se != NULL)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/libfuse/test/test_setattr.c
    - condition: (fuse_set_signal_handlers(se) == 0)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/libfuse/test/test_setattr.c
    - condition: (pthread_cancel(fs_thread) == 0)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/libfuse/test/test_setattr.c
    constantsTouched: []
    func_position:
      end: 185
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 185
    functionName: main
    functionSourceFile: /src/libfuse/test/test_setattr.c
    functionUses: 2
    functionsReached:
    - fuse_session_new
    - pthread_create
    - fuse_session_destroy
    - fuse_remove_signal_handlers
    - assert
    - test_fs
    - fuse_session_unmount
    - fuse_parse_cmdline
    - fuse_opt_add_arg
    - fuse_session_mount
    - fuse_set_signal_handlers
    - FUSE_ARGS_INIT
    - printf
    - pthread_cancel
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:63,1
    - Dst: strerror
      Src: /src/libfuse/test/test_syscalls.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - func
    - msg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: test_perror
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_perror(const char *func, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:76,1
    - Dst: va_start
      Src: /src/libfuse/test/test_syscalls.c:77,1
    - Dst: vfprintf
      Src: /src/libfuse/test/test_syscalls.c:78,1
    - Dst: va_end
      Src: /src/libfuse/test/test_syscalls.c:79,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - func
    - msg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: test_error
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void test_error(const char *func, const char *msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: is_dot_or_dotdot
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_dot_or_dotdot(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: success
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void success(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:100,1
    - Dst: va_start
      Src: /src/libfuse/test/test_syscalls.c:101,1
    - Dst: vsprintf
      Src: /src/libfuse/test/test_syscalls.c:102,1
    - Dst: va_end
      Src: /src/libfuse/test/test_syscalls.c:103,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:104,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:106,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:107,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:109,1
    - Dst: exit
      Src: /src/libfuse/test/test_syscalls.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: __start_test
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - vsprintf
    - va_start
    - va_end
    - sprintf
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void __start_test(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - msg
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: start_test
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: start_test(msg, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: PERROR
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PERROR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - msg
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: ERROR
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERROR(msg, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - st
    - len
    argTypes:
    - struct stat*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: st_check_size
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - ERROR
    linkageType: ''
    returnType: int
    signature: int st_check_size(struct stat *st, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libfuse/test/test_syscalls.c:142,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:144,1
    - Dst: st_check_size
      Src: /src/libfuse/test/test_syscalls.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: check_size
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 1
    functionsReached:
    - stat
    - PERROR
    - st_check_size
    linkageType: ''
    returnType: int
    signature: int check_size(const char *path, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_size
      Src: /src/libfuse/test/test_syscalls.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - path
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: check_testfile_size
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_size
    linkageType: ''
    returnType: int
    signature: int check_testfile_size(const char *path, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - st
    - type
    argTypes:
    - struct stat*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: st_check_type
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - ERROR
    linkageType: ''
    returnType: int
    signature: int st_check_type(struct stat *st, mode_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/libfuse/test/test_syscalls.c:168,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:170,1
    - Dst: st_check_type
      Src: /src/libfuse/test/test_syscalls.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - type
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: check_type
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 1
    functionsReached:
    - PERROR
    - st_check_type
    - lstat
    linkageType: ''
    returnType: int
    signature: int check_type(const char *path, mode_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - st
    - mode
    argTypes:
    - struct stat*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: st_check_mode
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - ERROR
    linkageType: ''
    returnType: int
    signature: int st_check_mode(struct stat *st, mode_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/libfuse/test/test_syscalls.c:189,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:191,1
    - Dst: st_check_mode
      Src: /src/libfuse/test/test_syscalls.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: check_mode
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 1
    functionsReached:
    - PERROR
    - lstat
    - st_check_mode
    linkageType: ''
    returnType: int
    signature: int check_mode(const char *path, mode_t mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: check_testfile_mode
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_mode
    linkageType: ''
    returnType: int
    signature: int check_testfile_mode(const char *path, mode_t mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/libfuse/test/test_syscalls.c:208,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:210,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:214,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - path
    - atime
    - mtime
    argTypes:
    - char*
    - time_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 225
    functionName: check_times
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - PERROR
    - lstat
    - ERROR
    linkageType: ''
    returnType: int
    signature: int check_times(const char *path, time_t atime, time_t mtime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/libfuse/test/test_syscalls.c:232,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:234,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:238,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - atime
    - mtime
    argTypes:
    - int
    - time_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 249
    functionName: fcheck_times
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - fstat
    - PERROR
    - ERROR
    linkageType: ''
    returnType: int
    signature: int fcheck_times(int fd, time_t atime, time_t mtime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - st
    - nlink
    argTypes:
    - struct stat*
    - nlink_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: st_check_nlink
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - ERROR
    linkageType: ''
    returnType: int
    signature: int st_check_nlink(struct stat *st, nlink_t nlink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/libfuse/test/test_syscalls.c:265,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:267,1
    - Dst: st_check_nlink
      Src: /src/libfuse/test/test_syscalls.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - nlink
    argTypes:
    - char*
    - nlink_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: check_nlink
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 1
    functionsReached:
    - PERROR
    - st_check_nlink
    - lstat
    linkageType: ''
    returnType: int
    signature: int check_nlink(const char *path, nlink_t nlink)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/libfuse/test/test_syscalls.c:276,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:285,1
    - Dst: st_check_type
      Src: /src/libfuse/test/test_syscalls.c:290,1
    - Dst: st_check_mode
      Src: /src/libfuse/test/test_syscalls.c:291,1
    - Dst: st_check_size
      Src: /src/libfuse/test/test_syscalls.c:292,1
    - Dst: st_check_nlink
      Src: /src/libfuse/test/test_syscalls.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - flags
    - st
    argTypes:
    - int
    - int
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 296
    functionName: fcheck_stat
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - st_check_type
    - fstat
    - st_check_size
    - PERROR
    - st_check_mode
    - st_check_nlink
    linkageType: ''
    returnType: int
    signature: int fcheck_stat(int fd, int flags, struct stat *st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/libfuse/test/test_syscalls.c:301,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:303,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:307,1
    - Dst: strerror
      Src: /src/libfuse/test/test_syscalls.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: check_nonexist
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - strerror
    - lstat
    - ERROR
    linkageType: ''
    returnType: int
    signature: int check_nonexist(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libfuse/test/test_syscalls.c:315,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - data
    - len
    argTypes:
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: check_buffer
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ERROR
    linkageType: ''
    returnType: int
    signature: int check_buffer(const char *buf, const char *data, unsigned len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:327,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:329,1
    - Dst: lseek
      Src: /src/libfuse/test/test_syscalls.c:332,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:333,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:334,1
    - Dst: read
      Src: /src/libfuse/test/test_syscalls.c:339,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:341,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:342,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:346,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:347,1
    - Dst: check_buffer
      Src: /src/libfuse/test/test_syscalls.c:350,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:351,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:357,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 4
    argNames:
    - path
    - data
    - offset
    - len
    argTypes:
    - char*
    - char*
    - int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 363
    functionName: check_data
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - read
    - open
    - PERROR
    - check_buffer
    - ERROR
    - close
    - lseek
    linkageType: ''
    returnType: int
    signature: "int check_data(const char *path, const char *data, int offset,\n\t\t
      \     unsigned len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/libfuse/test/test_syscalls.c:370,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:371,1
    - Dst: read
      Src: /src/libfuse/test/test_syscalls.c:376,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:378,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:382,1
    - Dst: check_buffer
      Src: /src/libfuse/test/test_syscalls.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - fd
    - data
    - offset
    - len
    argTypes:
    - int
    - char*
    - int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 392
    functionName: fcheck_data
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - read
    - PERROR
    - check_buffer
    - ERROR
    - lseek
    linkageType: ''
    returnType: int
    signature: "int fcheck_data(int fd, const char *data, int offset,\n\t\t       unsigned
      len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/test/test_syscalls.c:404,1
    - Dst: opendir
      Src: /src/libfuse/test/test_syscalls.c:410,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:412,1
    - Dst: memset
      Src: /src/libfuse/test/test_syscalls.c:415,1
    - Dst: readdir
      Src: /src/libfuse/test/test_syscalls.c:419,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:422,1
    - Dst: closedir
      Src: /src/libfuse/test/test_syscalls.c:423,1
    - Dst: is_dot_or_dotdot
      Src: /src/libfuse/test/test_syscalls.c:428,1
    - Dst: assert
      Src: /src/libfuse/test/test_syscalls.c:431,1
    - Dst: strcmp
      Src: /src/libfuse/test/test_syscalls.c:432,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:434,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:443,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:449,1
    - Dst: closedir
      Src: /src/libfuse/test/test_syscalls.c:453,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:455,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 2
    argNames:
    - path
    - contents
    argTypes:
    - char*
    - char**
    assertStmts:
    - condition: (i < MAX_ENTRIES - 3)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/libfuse/test/test_syscalls.c
    - condition: (i < MAX_ENTRIES)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/libfuse/test/test_syscalls.c
    constantsTouched: []
    func_position:
      end: 462
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 462
    functionName: check_dir_contents
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - readdir
    - opendir
    - assert
    - is_dot_or_dotdot
    - PERROR
    - memset
    - strcmp
    - ERROR
    - closedir
    linkageType: ''
    returnType: int
    signature: int check_dir_contents(const char *path, const char **contents)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:469,1
    - Dst: creat
      Src: /src/libfuse/test/test_syscalls.c:470,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:472,1
    - Dst: write
      Src: /src/libfuse/test/test_syscalls.c:476,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:478,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:479,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:483,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:484,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:488,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:490,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:493,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:496,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:499,1
    - Dst: check_size
      Src: /src/libfuse/test/test_syscalls.c:502,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:507,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - path
    - data
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 513
    functionName: create_file
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_size
    - creat
    - unlink
    - PERROR
    - write
    - check_data
    - ERROR
    - check_nlink
    - check_type
    - close
    - check_mode
    linkageType: ''
    returnType: int
    signature: int create_file(const char *path, const char *data, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_file
      Src: /src/libfuse/test/test_syscalls.c:520,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:524,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - path
    - data
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 515
    functionDepth: 4
    functionLinenumber: 515
    functionLinenumberEnd: 529
    functionName: create_path_fd
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - PERROR
    - open
    - create_file
    linkageType: ''
    returnType: int
    signature: int create_path_fd(const char *path, const char *data, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:539,1
    - Dst: create_path_fd
      Src: /src/libfuse/test/test_syscalls.c:543,1
    - Dst: fstat
      Src: /src/libfuse/test/test_syscalls.c:549,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - path
    - data
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 532
    functionDepth: 5
    functionLinenumber: 532
    functionLinenumberEnd: 556
    functionName: create_testfile
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - create_path_fd
    - PERROR
    - fstat
    - ERROR
    linkageType: ''
    returnType: int
    signature: int create_testfile(const char *path, const char *data, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcheck_stat
      Src: /src/libfuse/test/test_syscalls.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 564
    functionName: check_unlinked_testfile
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - fcheck_stat
    linkageType: ''
    returnType: int
    signature: int check_unlinked_testfile(int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:579,1
    - Dst: check_unlinked_testfile
      Src: /src/libfuse/test/test_syscalls.c:583,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:584,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:586,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 567
    functionDepth: 4
    functionLinenumber: 567
    functionLinenumberEnd: 597
    functionName: check_unlinked_testfiles
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_unlinked_testfile
    - start_test
    - PERROR
    - fprintf
    - close
    linkageType: ''
    returnType: int
    signature: int check_unlinked_testfiles(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:607,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:608,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - path
    - dir_files
    - quiet
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 618
    functionName: cleanup_dir
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - PERROR
    - unlink
    - sprintf
    linkageType: ''
    returnType: int
    signature: int cleanup_dir(const char *path, const char **dir_files, int quiet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:625,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:626,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:628,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:631,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:634,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:640,1
    - Dst: create_file
      Src: /src/libfuse/test/test_syscalls.c:641,1
    - Dst: cleanup_dir
      Src: /src/libfuse/test/test_syscalls.c:643,1
    - Dst: check_dir_contents
      Src: /src/libfuse/test/test_syscalls.c:647,1
    - Dst: cleanup_dir
      Src: /src/libfuse/test/test_syscalls.c:649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - path
    - dir_files
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 654
    functionName: create_dir
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_dir_contents
    - sprintf
    - PERROR
    - cleanup_dir
    - check_type
    - rmdir
    - mkdir
    - check_mode
    - create_file
    linkageType: ''
    returnType: int
    signature: int create_dir(const char *path, const char **dir_files)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:662,1
    - Dst: create_testfile
      Src: /src/libfuse/test/test_syscalls.c:663,1
    - Dst: truncate
      Src: /src/libfuse/test/test_syscalls.c:667,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:669,1
    - Dst: check_testfile_size
      Src: /src/libfuse/test/test_syscalls.c:672,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:678,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:682,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:685,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:691,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:693,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:696,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:700,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 656
    functionDepth: 6
    functionLinenumber: 656
    functionLinenumberEnd: 702
    functionName: test_truncate
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_testfile_size
    - success
    - start_test
    - check_nonexist
    - unlink
    - PERROR
    - truncate
    - create_testfile
    - check_data
    linkageType: ''
    returnType: int
    signature: int test_truncate(int len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:711,1
    - Dst: create_testfile
      Src: /src/libfuse/test/test_syscalls.c:712,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:716,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:718,1
    - Dst: fchmod
      Src: /src/libfuse/test/test_syscalls.c:722,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:724,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:725,1
    - Dst: check_testfile_mode
      Src: /src/libfuse/test/test_syscalls.c:728,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:730,1
    - Dst: ftruncate
      Src: /src/libfuse/test/test_syscalls.c:733,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:735,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:736,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:739,1
    - Dst: check_testfile_size
      Src: /src/libfuse/test/test_syscalls.c:740,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:746,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:750,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:753,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:759,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:761,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:764,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:768,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - len
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 704
    functionDepth: 6
    functionLinenumber: 704
    functionLinenumberEnd: 770
    functionName: test_ftruncate
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_testfile_size
    - success
    - start_test
    - fchmod
    - check_nonexist
    - open
    - unlink
    - PERROR
    - ftruncate
    - check_testfile_mode
    - close
    - create_testfile
    - check_data
    linkageType: ''
    returnType: int
    signature: int test_ftruncate(int len, int mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:779,1
    - Dst: create_dir
      Src: /src/libfuse/test/test_syscalls.c:780,1
    - Dst: opendir
      Src: /src/libfuse/test/test_syscalls.c:784,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:786,1
    - Dst: ARRAY_SIZE
      Src: /src/libfuse/test/test_syscalls.c:791,1
    - Dst: telldir
      Src: /src/libfuse/test/test_syscalls.c:792,1
    - Dst: readdir
      Src: /src/libfuse/test/test_syscalls.c:794,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:797,1
    - Dst: readdir
      Src: /src/libfuse/test/test_syscalls.c:806,1
    - Dst: seekdir
      Src: /src/libfuse/test/test_syscalls.c:810,1
    - Dst: readdir
      Src: /src/libfuse/test/test_syscalls.c:811,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:813,1
    - Dst: closedir
      Src: /src/libfuse/test/test_syscalls.c:818,1
    - Dst: cleanup_dir
      Src: /src/libfuse/test/test_syscalls.c:819,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:821,1
    - Dst: closedir
      Src: /src/libfuse/test/test_syscalls.c:824,1
    - Dst: cleanup_dir
      Src: /src/libfuse/test/test_syscalls.c:825,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 772
    functionDepth: 5
    functionLinenumber: 772
    functionLinenumberEnd: 827
    functionName: test_seekdir
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - readdir
    - ARRAY_SIZE
    - opendir
    - telldir
    - success
    - start_test
    - PERROR
    - cleanup_dir
    - seekdir
    - ERROR
    - create_dir
    - closedir
    linkageType: ''
    returnType: int
    signature: int test_seekdir(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:839,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:840,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:841,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:843,1
    - Dst: write
      Src: /src/libfuse/test/test_syscalls.c:846,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:848,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:849,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:853,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:854,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:858,1
    - Dst: creat
      Src: /src/libfuse/test/test_syscalls.c:859,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:861,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:862,1
    - Dst: copy_file_range
      Src: /src/libfuse/test/test_syscalls.c:865,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:867,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:868,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:869,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:873,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:874,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:875,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:879,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:881,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:882,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:885,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:887,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:891,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:893,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:895,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:898,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:904,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:906,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:909,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:915,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 917
    functionName: test_copy_file_range
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - creat
    - success
    - start_test
    - copy_file_range
    - check_nonexist
    - open
    - unlink
    - PERROR
    - write
    - ERROR
    - close
    - check_data
    linkageType: ''
    returnType: int
    signature: int test_copy_file_range(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: test_copy_file_range
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_copy_file_range(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/test/test_syscalls.c:934,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:935,1
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:937,1
    - Dst: create_testfile
      Src: /src/libfuse/test/test_syscalls.c:939,1
    - Dst: statx
      Src: /src/libfuse/test/test_syscalls.c:943,1
    - Dst: clock_gettime
      Src: /src/libfuse/test/test_syscalls.c:951,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:960,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:962,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 926
    functionDepth: 6
    functionLinenumber: 926
    functionLinenumberEnd: 964
    functionName: test_statx
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - success
    - start_test
    - unlink
    - memset
    - clock_gettime
    - statx
    - create_testfile
    linkageType: ''
    returnType: int
    signature: int test_statx(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: test_statx
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_statx(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:979,1
    - Dst: create_testfile
      Src: /src/libfuse/test/test_syscalls.c:980,1
    - Dst: utime
      Src: /src/libfuse/test/test_syscalls.c:986,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:988,1
    - Dst: check_times
      Src: /src/libfuse/test/test_syscalls.c:991,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:995,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:997,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1000,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 972
    functionDepth: 6
    functionLinenumber: 972
    functionLinenumberEnd: 1006
    functionName: test_utime
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_times
    - utime
    - success
    - start_test
    - check_nonexist
    - unlink
    - PERROR
    - create_testfile
    linkageType: ''
    returnType: int
    signature: int test_utime(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1016,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1017,1
    - Dst: creat
      Src: /src/libfuse/test/test_syscalls.c:1018,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1020,1
    - Dst: write
      Src: /src/libfuse/test/test_syscalls.c:1023,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1025,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1026,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1030,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1031,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1034,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1036,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1039,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1042,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1043,1
    - Dst: check_size
      Src: /src/libfuse/test/test_syscalls.c:1044,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:1045,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1046,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1048,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1051,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1057,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1008
    functionDepth: 3
    functionLinenumber: 1008
    functionLinenumberEnd: 1059
    functionName: test_create
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_size
    - creat
    - success
    - start_test
    - check_nonexist
    - unlink
    - PERROR
    - write
    - check_data
    - ERROR
    - check_nlink
    - check_type
    - close
    - check_mode
    linkageType: ''
    returnType: int
    signature: int test_create(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1069,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1070,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:1071,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1073,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1076,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1078,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1079,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1082,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1084,1
    - Dst: write
      Src: /src/libfuse/test/test_syscalls.c:1087,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1089,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1090,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1094,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1095,1
    - Dst: fcheck_stat
      Src: /src/libfuse/test/test_syscalls.c:1102,1
    - Dst: fcheck_data
      Src: /src/libfuse/test/test_syscalls.c:1103,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1104,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1106,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1114
    functionName: test_create_unlink
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - success
    - start_test
    - check_nonexist
    - open
    - unlink
    - PERROR
    - write
    - fcheck_data
    - fcheck_stat
    - ERROR
    - close
    linkageType: ''
    returnType: int
    signature: int test_create_unlink(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1121,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1122,1
    - Dst: mknod
      Src: /src/libfuse/test/test_syscalls.c:1123,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1125,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1128,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1131,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1132,1
    - Dst: check_size
      Src: /src/libfuse/test/test_syscalls.c:1133,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1134,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1136,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1139,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1147
    functionName: test_mknod
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_size
    - mknod
    - success
    - start_test
    - check_nonexist
    - unlink
    - PERROR
    - check_nlink
    - check_type
    - check_mode
    linkageType: ''
    returnType: int
    signature: int test_mknod(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - exist
    - ','
    - flags
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1150
    functionName: test_open
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_open(exist, flags, mode)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1162,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1163,1
    - Dst: create_file
      Src: /src/libfuse/test/test_syscalls.c:1165,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:1172,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1175,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1176,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1183,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1184,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1190,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1197,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1199,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1201,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1202,1
    - Dst: check_size
      Src: /src/libfuse/test/test_syscalls.c:1203,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:1205,1
    - Dst: write
      Src: /src/libfuse/test/test_syscalls.c:1207,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1210,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1213,1
    - Dst: check_size
      Src: /src/libfuse/test/test_syscalls.c:1219,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:1222,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:1225,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1233,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1236,1
    - Dst: lseek
      Src: /src/libfuse/test/test_syscalls.c:1240,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1242,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1245,1
    - Dst: read
      Src: /src/libfuse/test/test_syscalls.c:1248,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1251,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1257,1
    - Dst: check_buffer
      Src: /src/libfuse/test/test_syscalls.c:1262,1
    - Dst: check_buffer
      Src: /src/libfuse/test/test_syscalls.c:1265,1
    - Dst: check_buffer
      Src: /src/libfuse/test/test_syscalls.c:1269,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1275,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1278,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1283,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1285,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1288,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1290,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1293,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1296,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1303,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 133
    argCount: 4
    argNames:
    - exist
    - flags
    - flags_str
    - mode
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1151
    functionDepth: 4
    functionLinenumber: 1151
    functionLinenumberEnd: 1305
    functionName: do_test_open
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - lseek
    - check_size
    - success
    - start_test
    - check_nonexist
    - read
    - open
    - unlink
    - PERROR
    - check_data
    - write
    - check_buffer
    - ERROR
    - check_nlink
    - check_type
    - close
    - check_mode
    - create_file
    linkageType: ''
    returnType: int
    signature: int do_test_open(int exist, int flags, const char *flags_str, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - flags
    - ','
    - mode
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1309
    functionName: test_open_acc
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_open_acc(flags, mode, err)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1317,1
    - Dst: strerror
      Src: /src/libfuse/test/test_syscalls.c:1318,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1319,1
    - Dst: create_testfile
      Src: /src/libfuse/test/test_syscalls.c:1320,1
    - Dst: chmod
      Src: /src/libfuse/test/test_syscalls.c:1324,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1326,1
    - Dst: check_testfile_mode
      Src: /src/libfuse/test/test_syscalls.c:1330,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:1334,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1337,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1342,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1343,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1346,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1349,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1351,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1354,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1357,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - flags
    - flags_str
    - mode
    - err
    argTypes:
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1310
    functionDepth: 6
    functionLinenumber: 1310
    functionLinenumberEnd: 1363
    functionName: do_test_open_acc
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - success
    - start_test
    - check_nonexist
    - strerror
    - open
    - unlink
    - PERROR
    - check_testfile_mode
    - ERROR
    - chmod
    - close
    - create_testfile
    linkageType: ''
    returnType: int
    signature: int do_test_open_acc(int flags, const char *flags_str, int mode, int
      err)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/test/test_syscalls.c:1370,1
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1374,1
    - Dst: create_testfile
      Src: /src/libfuse/test/test_syscalls.c:1375,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1379,1
    - Dst: symlink
      Src: /src/libfuse/test/test_syscalls.c:1380,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1382,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1385,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1388,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1389,1
    - Dst: readlink
      Src: /src/libfuse/test/test_syscalls.c:1390,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1392,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1396,1
    - Dst: memcmp
      Src: /src/libfuse/test/test_syscalls.c:1399,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1400,1
    - Dst: check_size
      Src: /src/libfuse/test/test_syscalls.c:1403,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:1404,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1405,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1407,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1410,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1416,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1418,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1421,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1365
    functionDepth: 6
    functionLinenumber: 1365
    functionLinenumberEnd: 1427
    functionName: test_symlink
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_size
    - success
    - start_test
    - check_nonexist
    - unlink
    - PERROR
    - readlink
    - memcmp
    - strlen
    - check_data
    - check_nlink
    - symlink
    - ERROR
    - check_type
    - create_testfile
    - check_mode
    linkageType: ''
    returnType: int
    signature: int test_symlink(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1436,1
    - Dst: create_testfile
      Src: /src/libfuse/test/test_syscalls.c:1437,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1441,1
    - Dst: link
      Src: /src/libfuse/test/test_syscalls.c:1442,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1444,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1447,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1450,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1451,1
    - Dst: check_size
      Src: /src/libfuse/test/test_syscalls.c:1452,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:1453,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1454,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1456,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1459,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1463,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1464,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1466,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1469,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1475,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1429
    functionDepth: 6
    functionLinenumber: 1429
    functionLinenumberEnd: 1477
    functionName: test_link
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_size
    - success
    - start_test
    - check_nonexist
    - unlink
    - PERROR
    - check_data
    - link
    - check_nlink
    - check_type
    - create_testfile
    - check_mode
    linkageType: ''
    returnType: int
    signature: int test_link(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1486,1
    - Dst: create_testfile
      Src: /src/libfuse/test/test_syscalls.c:1487,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1491,1
    - Dst: link
      Src: /src/libfuse/test/test_syscalls.c:1492,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1494,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1497,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1499,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1502,1
    - Dst: link
      Src: /src/libfuse/test/test_syscalls.c:1505,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1507,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1509,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1512,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1513,1
    - Dst: check_size
      Src: /src/libfuse/test/test_syscalls.c:1514,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:1515,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1517,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1519,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1522,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1523,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1525,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1528,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1534,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1479
    functionDepth: 6
    functionLinenumber: 1479
    functionLinenumberEnd: 1536
    functionName: test_link2
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_size
    - success
    - start_test
    - check_nonexist
    - unlink
    - PERROR
    - check_data
    - link
    - check_nlink
    - check_type
    - create_testfile
    - check_mode
    linkageType: ''
    returnType: int
    signature: int test_link2(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1545,1
    - Dst: create_testfile
      Src: /src/libfuse/test/test_syscalls.c:1546,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1550,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1551,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1553,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1556,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1559,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1562,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1563,1
    - Dst: check_size
      Src: /src/libfuse/test/test_syscalls.c:1564,1
    - Dst: check_data
      Src: /src/libfuse/test/test_syscalls.c:1565,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1566,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1568,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1571,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1577,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1538
    functionDepth: 6
    functionLinenumber: 1538
    functionLinenumberEnd: 1579
    functionName: test_rename_file
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - check_size
    - success
    - start_test
    - check_nonexist
    - unlink
    - PERROR
    - check_data
    - rename
    - check_nlink
    - check_type
    - create_testfile
    - check_mode
    linkageType: ''
    returnType: int
    signature: int test_rename_file(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1586,1
    - Dst: create_dir
      Src: /src/libfuse/test/test_syscalls.c:1587,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1591,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1592,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1594,1
    - Dst: cleanup_dir
      Src: /src/libfuse/test/test_syscalls.c:1595,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1598,1
    - Dst: cleanup_dir
      Src: /src/libfuse/test/test_syscalls.c:1600,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1603,1
    - Dst: cleanup_dir
      Src: /src/libfuse/test/test_syscalls.c:1605,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1608,1
    - Dst: check_dir_contents
      Src: /src/libfuse/test/test_syscalls.c:1609,1
    - Dst: cleanup_dir
      Src: /src/libfuse/test/test_syscalls.c:1610,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1611,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1613,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1616,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1581
    functionDepth: 5
    functionLinenumber: 1581
    functionLinenumberEnd: 1624
    functionName: test_rename_dir
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - success
    - check_dir_contents
    - start_test
    - check_nonexist
    - PERROR
    - cleanup_dir
    - rename
    - check_type
    - create_dir
    - check_mode
    - rmdir
    linkageType: ''
    returnType: int
    signature: int test_rename_dir(void)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1635,1
    - Dst: create_dir
      Src: /src/libfuse/test/test_syscalls.c:1637,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:1641,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1641,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1643,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1647,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1647,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1647,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1649,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1654,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1654,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1654,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1656,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:1660,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1660,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1662,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:1666,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1666,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1668,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1673,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1673,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1673,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1675,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1680,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1680,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1680,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1682,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1687,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1687,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1687,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1689,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:1693,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1693,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1695,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1698,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1700,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1700,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1700,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1702,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1706,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1706,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1706,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1708,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1712,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1712,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1712,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1714,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1718,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1718,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1718,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1720,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1724,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1724,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1724,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1726,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1730,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1730,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1730,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1732,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:1736,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1736,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1738,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1741,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1743,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1743,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1743,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1745,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1749,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1749,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1751,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1751,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1751,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1753,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1757,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1757,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1757,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1759,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:1763,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1763,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1765,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1769,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1769,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1769,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1771,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1775,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1775,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1775,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1777,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:1781,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1781,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1783,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:1787,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1787,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1789,1
    - Dst: rename
      Src: /src/libfuse/test/test_syscalls.c:1794,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1794,1
    - Dst: PATH2
      Src: /src/libfuse/test/test_syscalls.c:1794,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1796,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1800,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1800,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1801,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1801,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1803,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1803,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1804,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1804,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1805,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1805,1
    - Dst: cleanup_dir
      Src: /src/libfuse/test/test_syscalls.c:1807,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1808,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1810,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1813,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1819,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1823,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1823,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1825,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1825,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1826,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1826,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1828,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1828,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1829,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1829,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1830,1
    - Dst: PATH
      Src: /src/libfuse/test/test_syscalls.c:1830,1
    - Dst: cleanup_dir
      Src: /src/libfuse/test/test_syscalls.c:1832,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1833,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 193
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1626
    functionDepth: 5
    functionLinenumber: 1626
    functionLinenumberEnd: 1839
    functionName: test_rename_dir_loop
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - PATH
    - success
    - start_test
    - check_nonexist
    - open
    - PATH2
    - PERROR
    - unlink
    - cleanup_dir
    - rename
    - close
    - create_dir
    - mkdir
    - rmdir
    linkageType: ''
    returnType: int
    signature: int test_rename_dir_loop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1629
    functionName: PATH
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PATH(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1630
    functionName: PATH2
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PATH2(p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1846,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1847,1
    - Dst: mkfifo
      Src: /src/libfuse/test/test_syscalls.c:1848,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1850,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1853,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1856,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1857,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1858,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1860,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1863,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1841
    functionDepth: 3
    functionLinenumber: 1841
    functionLinenumberEnd: 1871
    functionName: test_mkfifo
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - mkfifo
    - success
    - start_test
    - check_nonexist
    - unlink
    - PERROR
    - check_nlink
    - check_type
    - check_mode
    linkageType: ''
    returnType: int
    signature: int test_mkfifo(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1879,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1880,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:1881,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1883,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1886,1
    - Dst: check_mode
      Src: /src/libfuse/test/test_syscalls.c:1889,1
    - Dst: check_dir_contents
      Src: /src/libfuse/test/test_syscalls.c:1893,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1894,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1896,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1899,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1873
    functionDepth: 3
    functionLinenumber: 1873
    functionLinenumberEnd: 1907
    functionName: test_mkdir
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - success
    - check_dir_contents
    - start_test
    - check_nonexist
    - PERROR
    - check_type
    - rmdir
    - mkdir
    - check_mode
    linkageType: ''
    returnType: int
    signature: int test_mkdir(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/test/test_syscalls.c:1915,1
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1917,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:1919,1
    - Dst: strlen
      Src: /src/libfuse/test/test_syscalls.c:1920,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1923,1
    - Dst: socket
      Src: /src/libfuse/test/test_syscalls.c:1924,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1926,1
    - Dst: strncpy
      Src: /src/libfuse/test/test_syscalls.c:1931,1
    - Dst: bind
      Src: /src/libfuse/test/test_syscalls.c:1933,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1935,1
    - Dst: check_type
      Src: /src/libfuse/test/test_syscalls.c:1939,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1941,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:1944,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1945,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1946,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1948,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1951,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:1957,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1909
    functionDepth: 3
    functionLinenumber: 1909
    functionLinenumberEnd: 1959
    functionName: test_socket
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - socket
    - strncpy
    - success
    - start_test
    - check_nonexist
    - unlink
    - PERROR
    - fprintf
    - strlen
    - bind
    - check_nlink
    - check_type
    - close
    linkageType: ''
    returnType: int
    signature: int test_socket(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1963
    functionName: test_create_ro_dir
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_create_ro_dir(flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:1970,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1971,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:1972,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1974,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:1977,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:1979,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1980,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:1981,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1984,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:1988,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:1989,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:1991,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:1994,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:2000,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - flags
    - flags_str
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1964
    functionDepth: 2
    functionLinenumber: 1964
    functionLinenumberEnd: 2002
    functionName: do_test_create_ro_dir
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - success
    - start_test
    - check_nonexist
    - open
    - unlink
    - PERROR
    - ERROR
    - close
    - rmdir
    - mkdir
    linkageType: ''
    returnType: int
    signature: int do_test_create_ro_dir(int flags, const char *flags_str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:2010,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:2011,1
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:2015,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:2017,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:2025,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:2028,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:2030,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:2032,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:2035,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:2037,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:2039,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:2043,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2008
    functionDepth: 1
    functionLinenumber: 2008
    functionLinenumberEnd: 2045
    functionName: test_create_tmpfile
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - success
    - start_test
    - open
    - PERROR
    - ERROR
    - close
    - rmdir
    - mkdir
    linkageType: ''
    returnType: int
    signature: int test_create_tmpfile(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:2052,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:2053,1
    - Dst: mkdir
      Src: /src/libfuse/test/test_syscalls.c:2055,1
    - Dst: start_test
      Src: /src/libfuse/test/test_syscalls.c:2059,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:2061,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:2068,1
    - Dst: linkat
      Src: /src/libfuse/test/test_syscalls.c:2072,1
    - Dst: ERROR
      Src: /src/libfuse/test/test_syscalls.c:2073,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:2076,1
    - Dst: open
      Src: /src/libfuse/test/test_syscalls.c:2078,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:2080,1
    - Dst: check_nonexist
      Src: /src/libfuse/test/test_syscalls.c:2084,1
    - Dst: linkat
      Src: /src/libfuse/test/test_syscalls.c:2088,1
    - Dst: PERROR
      Src: /src/libfuse/test/test_syscalls.c:2089,1
    - Dst: close
      Src: /src/libfuse/test/test_syscalls.c:2092,1
    - Dst: check_nlink
      Src: /src/libfuse/test/test_syscalls.c:2094,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:2097,1
    - Dst: success
      Src: /src/libfuse/test/test_syscalls.c:2099,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2047
    functionDepth: 3
    functionLinenumber: 2047
    functionLinenumberEnd: 2101
    functionName: test_create_and_link_tmpfile
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 0
    functionsReached:
    - success
    - start_test
    - check_nonexist
    - open
    - unlink
    - PERROR
    - ERROR
    - check_nlink
    - close
    - rmdir
    - mkdir
    - linkat
    linkageType: ''
    returnType: int
    signature: int test_create_and_link_tmpfile(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/libfuse/test/test_syscalls.c:2110,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:2112,1
    - Dst: strtoul
      Src: /src/libfuse/test/test_syscalls.c:2129,1
    - Dst: strtoul
      Src: /src/libfuse/test/test_syscalls.c:2132,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:2135,1
    - Dst: assert
      Src: /src/libfuse/test/test_syscalls.c:2140,1
    - Dst: strlen
      Src: /src/libfuse/test/test_syscalls.c:2140,1
    - Dst: assert
      Src: /src/libfuse/test/test_syscalls.c:2141,1
    - Dst: strlen
      Src: /src/libfuse/test/test_syscalls.c:2141,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:2143,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2147,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2148,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2149,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2150,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2151,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2152,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2154,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2155,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2156,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2157,1
    - Dst: sprintf
      Src: /src/libfuse/test/test_syscalls.c:2158,1
    - Dst: geteuid
      Src: /src/libfuse/test/test_syscalls.c:2160,1
    - Dst: test_create
      Src: /src/libfuse/test/test_syscalls.c:2162,1
    - Dst: test_create_unlink
      Src: /src/libfuse/test/test_syscalls.c:2163,1
    - Dst: test_symlink
      Src: /src/libfuse/test/test_syscalls.c:2164,1
    - Dst: test_link
      Src: /src/libfuse/test/test_syscalls.c:2165,1
    - Dst: test_link2
      Src: /src/libfuse/test/test_syscalls.c:2166,1
    - Dst: test_mknod
      Src: /src/libfuse/test/test_syscalls.c:2167,1
    - Dst: test_mkfifo
      Src: /src/libfuse/test/test_syscalls.c:2168,1
    - Dst: test_mkdir
      Src: /src/libfuse/test/test_syscalls.c:2169,1
    - Dst: test_rename_file
      Src: /src/libfuse/test/test_syscalls.c:2170,1
    - Dst: test_rename_dir
      Src: /src/libfuse/test/test_syscalls.c:2171,1
    - Dst: test_rename_dir_loop
      Src: /src/libfuse/test/test_syscalls.c:2172,1
    - Dst: test_seekdir
      Src: /src/libfuse/test/test_syscalls.c:2173,1
    - Dst: test_socket
      Src: /src/libfuse/test/test_syscalls.c:2174,1
    - Dst: test_utime
      Src: /src/libfuse/test/test_syscalls.c:2175,1
    - Dst: test_truncate
      Src: /src/libfuse/test/test_syscalls.c:2176,1
    - Dst: test_truncate
      Src: /src/libfuse/test/test_syscalls.c:2177,1
    - Dst: test_truncate
      Src: /src/libfuse/test/test_syscalls.c:2178,1
    - Dst: test_truncate
      Src: /src/libfuse/test/test_syscalls.c:2179,1
    - Dst: test_ftruncate
      Src: /src/libfuse/test/test_syscalls.c:2180,1
    - Dst: test_ftruncate
      Src: /src/libfuse/test/test_syscalls.c:2181,1
    - Dst: test_ftruncate
      Src: /src/libfuse/test/test_syscalls.c:2182,1
    - Dst: test_ftruncate
      Src: /src/libfuse/test/test_syscalls.c:2183,1
    - Dst: test_ftruncate
      Src: /src/libfuse/test/test_syscalls.c:2184,1
    - Dst: test_ftruncate
      Src: /src/libfuse/test/test_syscalls.c:2185,1
    - Dst: test_ftruncate
      Src: /src/libfuse/test/test_syscalls.c:2186,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2187,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2188,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2189,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2190,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2191,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2192,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2193,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2194,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2195,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2196,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2197,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2198,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2199,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2200,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2201,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2202,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2203,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2204,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2205,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2206,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2207,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2208,1
    - Dst: test_open
      Src: /src/libfuse/test/test_syscalls.c:2209,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2210,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2211,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2212,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2213,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2214,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2216,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2217,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2218,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2219,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2220,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2221,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2222,1
    - Dst: test_open_acc
      Src: /src/libfuse/test/test_syscalls.c:2223,1
    - Dst: test_create_ro_dir
      Src: /src/libfuse/test/test_syscalls.c:2225,1
    - Dst: test_create_ro_dir
      Src: /src/libfuse/test/test_syscalls.c:2226,1
    - Dst: test_create_ro_dir
      Src: /src/libfuse/test/test_syscalls.c:2227,1
    - Dst: test_create_ro_dir
      Src: /src/libfuse/test/test_syscalls.c:2228,1
    - Dst: test_copy_file_range
      Src: /src/libfuse/test/test_syscalls.c:2229,1
    - Dst: test_statx
      Src: /src/libfuse/test/test_syscalls.c:2230,1
    - Dst: test_create_tmpfile
      Src: /src/libfuse/test/test_syscalls.c:2232,1
    - Dst: test_create_and_link_tmpfile
      Src: /src/libfuse/test/test_syscalls.c:2233,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:2236,1
    - Dst: unlink
      Src: /src/libfuse/test/test_syscalls.c:2237,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:2238,1
    - Dst: rmdir
      Src: /src/libfuse/test/test_syscalls.c:2239,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_syscalls.c:2242,1
    - Dst: check_unlinked_testfiles
      Src: /src/libfuse/test/test_syscalls.c:2246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (strlen(basepath_r) < 512)
      pos:
        line_end: 2140
        line_start: 2140
        source_file: /src/libfuse/test/test_syscalls.c
    - condition: (strlen(basepath) < 512)
      pos:
        line_end: 2139
        line_start: 2139
        source_file: /src/libfuse/test/test_syscalls.c
    constantsTouched: []
    func_position:
      end: 2247
      start: 2104
    functionDepth: 7
    functionLinenumber: 2104
    functionLinenumberEnd: 2247
    functionName: main
    functionSourceFile: /src/libfuse/test/test_syscalls.c
    functionUses: 2
    functionsReached:
    - test_mknod
    - test_socket
    - strlen
    - test_rename_file
    - test_open_acc
    - rmdir
    - geteuid
    - test_create_unlink
    - check_unlinked_testfiles
    - test_create
    - test_seekdir
    - test_open
    - test_rename_dir_loop
    - test_copy_file_range
    - test_symlink
    - test_link
    - test_create_ro_dir
    - test_ftruncate
    - sprintf
    - test_mkfifo
    - test_create_and_link_tmpfile
    - test_utime
    - test_mkdir
    - strtoul
    - test_truncate
    - assert
    - test_link2
    - test_create_tmpfile
    - umask
    - test_rename_dir
    - unlink
    - fprintf
    - test_statx
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: OPTION
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTION(t, p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:68,1
    - Dst: fuse_get_feature_flag
      Src: /src/libfuse/test/test_write_cache.c:68,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/test/test_write_cache.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - userdata
    - conn
    argTypes:
    - void*
    - struct fuse_conn_info*
    assertStmts:
    - condition: (fuse_get_feature_flag(conn, FUSE_CAP_WRITEBACK_CACHE))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/libfuse/test/test_write_cache.c
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: tfs_init
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 0
    functionsReached:
    - fuse_get_feature_flag
    - assert
    - fuse_set_feature_flag
    linkageType: ''
    returnType: void
    signature: void tfs_init(void *userdata, struct fuse_conn_info *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ino
    - stbuf
    argTypes:
    - fuse_ino_t
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: tfs_stat
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tfs_stat(fuse_ino_t ino, struct stat *stbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/test/test_write_cache.c:97,1
    - Dst: strcmp
      Src: /src/libfuse/test/test_write_cache.c:101,1
    - Dst: tfs_stat
      Src: /src/libfuse/test/test_write_cache.c:106,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/test/test_write_cache.c:108,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/test/test_write_cache.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: tfs_lookup
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - tfs_stat
    - fuse_reply_err
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: void tfs_lookup(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/test/test_write_cache.c:122,1
    - Dst: tfs_stat
      Src: /src/libfuse/test/test_write_cache.c:123,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/test/test_write_cache.c:124,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/test/test_write_cache.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: tfs_getattr
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 1
    functionsReached:
    - tfs_stat
    - memset
    - fuse_reply_attr
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void tfs_getattr(fuse_req_t req, fuse_ino_t ino,\n\t\t\tstruct fuse_file_info
      *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/test/test_write_cache.c:132,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:134,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/test/test_write_cache.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts:
    - condition: (ino == FILE_INO)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/libfuse/test/test_write_cache.c
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: tfs_open
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_reply_open
    - assert
    linkageType: ''
    returnType: void
    signature: void tfs_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info
      *fi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:150,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_write_cache.c:158,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/test/test_write_cache.c:165,1
    - Dst: pthread_cond_signal
      Src: /src/libfuse/test/test_write_cache.c:167,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/test/test_write_cache.c:168,1
    - Dst: usleep
      Src: /src/libfuse/test/test_write_cache.c:170,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/test/test_write_cache.c:172,1
    - Dst: pthread_cond_signal
      Src: /src/libfuse/test/test_write_cache.c:174,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/test/test_write_cache.c:175,1
    - Dst: fuse_reply_write
      Src: /src/libfuse/test/test_write_cache.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 6
    argNames:
    - req
    - ino
    - buf
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts:
    - condition: (ino == FILE_INO)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/libfuse/test/test_write_cache.c
    constantsTouched: []
    func_position:
      end: 179
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 179
    functionName: tfs_write
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_lock
    - assert
    - fuse_reply_write
    - usleep
    - pthread_mutex_unlock
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void tfs_write(fuse_req_t req, fuse_ino_t ino, const char *buf,\n\t\t
      \     size_t size, off_t off, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/test/test_write_cache.c:194,1
    - Dst: pthread_cond_wait
      Src: /src/libfuse/test/test_write_cache.c:196,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/test/test_write_cache.c:197,1
    - Dst: close
      Src: /src/libfuse/test/test_write_cache.c:199,1
    - Dst: printf
      Src: /src/libfuse/test/test_write_cache.c:200,1
    - Dst: fprintf
      Src: /src/libfuse/test/test_write_cache.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 208
    functionName: close_rofd
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - fprintf
    - pthread_cond_wait
    - close
    - printf
    linkageType: ''
    returnType: void
    signature: void *close_rofd(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:214,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/test/test_write_cache.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (fuse_session_loop(se) == 0)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/libfuse/test/test_write_cache.c
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: run_fs
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 0
    functionsReached:
    - assert
    - fuse_session_loop
    linkageType: ''
    returnType: void
    signature: void *run_fs(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/test/test_write_cache.c:228,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:229,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:230,1
    - Dst: open
      Src: /src/libfuse/test/test_write_cache.c:230,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:231,1
    - Dst: read
      Src: /src/libfuse/test/test_write_cache.c:231,1
    - Dst: close
      Src: /src/libfuse/test/test_write_cache.c:232,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:234,1
    - Dst: snprintf
      Src: /src/libfuse/test/test_write_cache.c:234,1
    - Dst: open
      Src: /src/libfuse/test/test_write_cache.c:235,1
    - Dst: perror
      Src: /src/libfuse/test/test_write_cache.c:237,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:238,1
    - Dst: open
      Src: /src/libfuse/test/test_write_cache.c:243,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:244,1
    - Dst: pthread_create
      Src: /src/libfuse/test/test_write_cache.c:244,1
    - Dst: usleep
      Src: /src/libfuse/test/test_write_cache.c:247,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:251,1
    - Dst: pwrite
      Src: /src/libfuse/test/test_write_cache.c:251,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:253,1
    - Dst: free
      Src: /src/libfuse/test/test_write_cache.c:255,1
    - Dst: close
      Src: /src/libfuse/test/test_write_cache.c:256,1
    - Dst: printf
      Src: /src/libfuse/test/test_write_cache.c:259,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:261,1
    - Dst: pthread_join
      Src: /src/libfuse/test/test_write_cache.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - mountpoint
    argTypes:
    - char*
    assertStmts:
    - condition: (snprintf(fname, PATH_MAX, "%s/" FILE_NAME, mountpoint) > 0)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: "(pthread_create(&rofd_thread, NULL, close_rofd,\n\t\t\t\t      (void
        *)(long)rofd) == 0)"
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (buf != NULL)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (0)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (read(fd, buf, dsize) == dsize)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: ((fd = open("/dev/urandom", O_RDONLY)) != -1)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (pwrite(fd, buf + off, iosize, off) == iosize)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (off <= dsize)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (pthread_join(rofd_thread, NULL) == 0)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/libfuse/test/test_write_cache.c
    constantsTouched: []
    func_position:
      end: 263
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 263
    functionName: test_fs
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 1
    functionsReached:
    - malloc
    - perror
    - pthread_create
    - pwrite
    - assert
    - read
    - open
    - usleep
    - pthread_join
    - free
    - close
    - printf
    - snprintf
    linkageType: ''
    returnType: void
    signature: void test_fs(char *mountpoint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/test/test_write_cache.c:267,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:272,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/test/test_write_cache.c:272,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:273,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/test/test_write_cache.c:273,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:275,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/test/test_write_cache.c:275,1
    - Dst: fuse_session_new
      Src: /src/libfuse/test/test_write_cache.c:277,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/test/test_write_cache.c:278,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:279,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:280,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/test/test_write_cache.c:280,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:281,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/test/test_write_cache.c:281,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:284,1
    - Dst: pthread_create
      Src: /src/libfuse/test/test_write_cache.c:284,1
    - Dst: test_fs
      Src: /src/libfuse/test/test_write_cache.c:287,1
    - Dst: free
      Src: /src/libfuse/test/test_write_cache.c:288,1
    - Dst: fuse_session_exit
      Src: /src/libfuse/test/test_write_cache.c:291,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/test/test_write_cache.c:292,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:293,1
    - Dst: pthread_join
      Src: /src/libfuse/test/test_write_cache.c:293,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:295,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:306,1
    - Dst: assert
      Src: /src/libfuse/test/test_write_cache.c:308,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/test/test_write_cache.c:310,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/test/test_write_cache.c:311,1
    - Dst: printf
      Src: /src/libfuse/test/test_write_cache.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (fuse_opt_add_arg(&args, "-oauto_unmount") == 0)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (pthread_create(&fs_thread, NULL, run_fs, (void *)se) == 0)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (got_write == 1)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (fuse_opt_parse(&args, &options, option_spec, NULL) == 0)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (fuse_parse_cmdline(&args, &fuse_opts) == 0)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (pthread_join(fs_thread, NULL) == 0)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (se != NULL)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (fuse_set_signal_handlers(se) == 0)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (fuse_session_mount(se, fuse_opts.mountpoint) == 0)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (write_cnt < WRITE_SYSCALLS)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/libfuse/test/test_write_cache.c
    - condition: (write_cnt == WRITE_SYSCALLS)
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/libfuse/test/test_write_cache.c
    constantsTouched: []
    func_position:
      end: 315
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 315
    functionName: main
    functionSourceFile: /src/libfuse/test/test_write_cache.c
    functionUses: 2
    functionsReached:
    - fuse_session_new
    - pthread_create
    - fuse_session_destroy
    - fuse_remove_signal_handlers
    - assert
    - test_fs
    - fuse_session_unmount
    - fuse_opt_free_args
    - fuse_session_exit
    - fuse_opt_parse
    - pthread_join
    - fuse_parse_cmdline
    - free
    - fuse_opt_add_arg
    - fuse_session_mount
    - fuse_set_signal_handlers
    - FUSE_ARGS_INIT
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: FUSE_MAKE_VERSION
    functionSourceFile: /src/libfuse/include/fuse_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_MAKE_VERSION(maj, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - args
    - ','
    - opts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2090
    functionName: fuse_parse_cmdline
    functionSourceFile: /src/libfuse/include/fuse_lowlevel.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_parse_cmdline(args, opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - args
    - ','
    - opts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2094
    functionName: fuse_parse_cmdline
    functionSourceFile: /src/libfuse/include/fuse_lowlevel.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_parse_cmdline(args, opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_new_versioned
      Src: /src/libfuse/include/fuse_lowlevel.h:2144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - args
    - op
    - op_size
    - userdata
    argTypes:
    - struct fuse_args*
    - struct fuse_lowlevel_ops*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2146
    functionName: fuse_session_new_fn
    functionSourceFile: /src/libfuse/include/fuse_lowlevel.h
    functionUses: 0
    functionsReached:
    - fuse_session_new_versioned
    linkageType: ''
    returnType: struct fuse_session
    signature: "struct fuse_session *\nfuse_session_new_fn(struct fuse_args *args,
      const struct fuse_lowlevel_ops *op,\n\t\t    size_t op_size, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - args
    - ','
    - op
    - ','
    - op_size
    - ','
    - userdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2149
    functionName: fuse_session_new
    functionSourceFile: /src/libfuse/include/fuse_lowlevel.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_session_new(args, op, op_size, userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_custom_io_317
      Src: /src/libfuse/include/fuse_lowlevel.h:2188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - se
    - io
    - op_size
    - fd
    argTypes:
    - struct fuse_session*
    - struct fuse_custom_io*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2185
    functionDepth: 1
    functionLinenumber: 2185
    functionLinenumberEnd: 2189
    functionName: fuse_session_custom_io
    functionSourceFile: /src/libfuse/include/fuse_lowlevel.h
    functionUses: 0
    functionsReached:
    - fuse_session_custom_io_317
    linkageType: ''
    returnType: int
    signature: "int fuse_session_custom_io(struct fuse_session *se,\n\t\t\t\t\tconst
      struct fuse_custom_io *io, size_t op_size, int fd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_custom_io_317
      Src: /src/libfuse/include/fuse_lowlevel.h:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - se
    - io
    - fd
    argTypes:
    - struct fuse_session*
    - struct fuse_custom_io*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2191
    functionDepth: 1
    functionLinenumber: 2191
    functionLinenumberEnd: 2196
    functionName: fuse_session_custom_io
    functionSourceFile: /src/libfuse/include/fuse_lowlevel.h
    functionUses: 0
    functionsReached:
    - fuse_session_custom_io_317
    linkageType: ''
    returnType: int
    signature: "int fuse_session_custom_io(struct fuse_session *se,\n\t\t\t\t\tconst
      struct fuse_custom_io *io, int fd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - se
    - ','
    - clone_fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2236
    functionName: fuse_session_loop_mt
    functionSourceFile: /src/libfuse/include/fuse_lowlevel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_session_loop_mt(se, clone_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - se
    - ','
    - config
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2239
    functionName: fuse_session_loop_mt
    functionSourceFile: /src/libfuse/include/fuse_lowlevel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_session_loop_mt(se, config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - se
    - ','
    - config
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2256
    functionName: fuse_session_loop_mt
    functionSourceFile: /src/libfuse/include/fuse_lowlevel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_session_loop_mt(se, config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/include/fuse.h:911,1
    - Dst: fuse_main_real_versioned
      Src: /src/libfuse/include/fuse.h:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - argc
    - argv
    - op
    - op_size
    - user_data
    argTypes:
    - int
    - char*[]
    - struct fuse_operations*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 917
    functionName: fuse_main_real
    functionSourceFile: /src/libfuse/include/fuse.h
    functionUses: 0
    functionsReached:
    - fuse_main_real_versioned
    - fuse_log
    linkageType: ''
    returnType: int
    signature: "int fuse_main_real(int argc, char *argv[],\n\t\t\t\t const struct
      fuse_operations *op,\n\t\t\t\t size_t op_size, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_main_real_versioned
      Src: /src/libfuse/include/fuse.h:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - argc
    - argv
    - op
    - user_data
    argTypes:
    - int
    - char*[]
    - struct fuse_operations*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 986
    functionName: fuse_main_fn
    functionSourceFile: /src/libfuse/include/fuse.h
    functionUses: 0
    functionsReached:
    - fuse_main_real_versioned
    linkageType: ''
    returnType: int
    signature: "int fuse_main_fn(int argc, char *argv[],\n\t\t\t       const struct
      fuse_operations *op,\n\t\t\t       void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - argc
    - ','
    - argv
    - ','
    - op
    - ','
    - user_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: fuse_main
    functionSourceFile: /src/libfuse/include/fuse.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_main(argc, argv, op, user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _fuse_new_30
      Src: /src/libfuse/include/fuse.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - args
    - op
    - op_size
    - user_data
    argTypes:
    - struct fuse_args*
    - struct fuse_operations*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1055
    functionName: fuse_new_fn
    functionSourceFile: /src/libfuse/include/fuse.h
    functionUses: 0
    functionsReached:
    - _fuse_new_30
    linkageType: ''
    returnType: struct fuse
    signature: "struct fuse *fuse_new_fn(struct fuse_args *args,\n\t\t\t\t       const
      struct fuse_operations *op,\n\t\t\t\t       size_t op_size, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _fuse_new_31
      Src: /src/libfuse/include/fuse.h:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - args
    - op
    - op_size
    - user_data
    argTypes:
    - struct fuse_args*
    - struct fuse_operations*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1069
    functionName: fuse_new_fn
    functionSourceFile: /src/libfuse/include/fuse.h
    functionUses: 0
    functionsReached:
    - _fuse_new_31
    linkageType: ''
    returnType: struct fuse
    signature: "struct fuse *fuse_new_fn(struct fuse_args *args,\n\t\t\t\t       const
      struct fuse_operations *op,\n\t\t\t\t       size_t op_size, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - args
    - ','
    - op
    - ','
    - size
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1072
    functionName: fuse_new
    functionSourceFile: /src/libfuse/include/fuse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_new(args, op, size, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - clone_fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1132
    functionName: fuse_loop_mt
    functionSourceFile: /src/libfuse/include/fuse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_loop_mt(f, clone_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - config
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1135
    functionName: fuse_loop_mt
    functionSourceFile: /src/libfuse/include/fuse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_loop_mt(f, config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - config
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1171
    functionName: fuse_loop_mt
    functionSourceFile: /src/libfuse/include/fuse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fuse_loop_mt(f, config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name_
    - ','
    - factory_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1413
    functionName: FUSE_REGISTER_MODULE
    functionSourceFile: /src/libfuse/include/fuse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_REGISTER_MODULE(name_, factory_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    functionName: FUSE_REC_ALIGN
    functionSourceFile: /src/libfuse/include/fuse_kernel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_REC_ALIGN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1065
    functionName: FUSE_DIRENT_ALIGN
    functionSourceFile: /src/libfuse/include/fuse_kernel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_DIRENT_ALIGN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1067
    functionName: FUSE_DIRENT_SIZE
    functionSourceFile: /src/libfuse/include/fuse_kernel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_DIRENT_SIZE(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1077
    functionName: FUSE_DIRENTPLUS_SIZE
    functionSourceFile: /src/libfuse/include/fuse_kernel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_DIRENTPLUS_SIZE(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - templ
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: FUSE_OPT_KEY
    functionSourceFile: /src/libfuse/include/fuse_opt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_OPT_KEY(templ, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - argc
    - ','
    - argv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: FUSE_ARGS_INIT
    functionSourceFile: /src/libfuse/include/fuse_opt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_ARGS_INIT(argc, argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_loop_mt.c:71,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:73,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_loop_mt.c:77,1
    - Dst: pthread_mutex_init
      Src: /src/libfuse/lib/fuse_loop_mt.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: fuse_chan_new
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached:
    - malloc
    - memset
    - fuse_log
    - pthread_mutex_init
    linkageType: ''
    returnType: struct fuse_chan
    signature: struct fuse_chan *fuse_chan_new(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/lib/fuse_loop_mt.c:87,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_loop_mt.c:88,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ch
    argTypes:
    - struct fuse_chan*
    assertStmts:
    - condition: (ch->ctr > 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/libfuse/lib/fuse_loop_mt.c
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: fuse_chan_get
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - assert
    linkageType: ''
    returnType: struct fuse_chan
    signature: struct fuse_chan *fuse_chan_get(struct fuse_chan *ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_loop_mt.c:99,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:102,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_loop_mt.c:103,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse_loop_mt.c:104,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_loop_mt.c:105,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ch
    argTypes:
    - struct fuse_chan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: fuse_chan_put
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - free
    - pthread_mutex_destroy
    - close
    linkageType: ''
    returnType: void
    signature: void fuse_chan_put(struct fuse_chan *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - w
    - next
    argTypes:
    - struct fuse_worker*
    - struct fuse_worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: list_add_worker
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_add_worker(struct fuse_worker *w, struct fuse_worker *next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct fuse_worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: list_del_worker
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_del_worker(struct fuse_worker *w)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fuse_set_thread_name
      Src: /src/libfuse/lib/fuse_loop_mt.c:135,1
    - Dst: fuse_session_exited
      Src: /src/libfuse/lib/fuse_loop_mt.c:137,1
    - Dst: pthread_setcancelstate
      Src: /src/libfuse/lib/fuse_loop_mt.c:141,1
    - Dst: fuse_session_receive_buf_internal
      Src: /src/libfuse/lib/fuse_loop_mt.c:142,1
    - Dst: pthread_setcancelstate
      Src: /src/libfuse/lib/fuse_loop_mt.c:143,1
    - Dst: fuse_session_exit
      Src: /src/libfuse/lib/fuse_loop_mt.c:148,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_loop_mt.c:154,1
    - Dst: fuse_session_exited
      Src: /src/libfuse/lib/fuse_loop_mt.c:155,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:156,1
    - Dst: likely
      Src: /src/libfuse/lib/fuse_loop_mt.c:175,1
    - Dst: fuse_loop_start_thread
      Src: /src/libfuse/lib/fuse_loop_mt.c:176,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:177,1
    - Dst: fuse_session_process_buf_internal
      Src: /src/libfuse/lib/fuse_loop_mt.c:179,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_loop_mt.c:181,1
    - Dst: fuse_session_exited
      Src: /src/libfuse/lib/fuse_loop_mt.c:192,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:193,1
    - Dst: list_del_worker
      Src: /src/libfuse/lib/fuse_loop_mt.c:196,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:199,1
    - Dst: pthread_detach
      Src: /src/libfuse/lib/fuse_loop_mt.c:201,1
    - Dst: fuse_buf_free
      Src: /src/libfuse/lib/fuse_loop_mt.c:202,1
    - Dst: fuse_chan_put
      Src: /src/libfuse/lib/fuse_loop_mt.c:203,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_loop_mt.c:204,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:207,1
    - Dst: sem_post
      Src: /src/libfuse/lib/fuse_loop_mt.c:210,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 212
    functionName: fuse_do_work
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached:
    - fuse_buf_free
    - fuse_loop_start_thread
    - pthread_setcancelstate
    - pthread_mutex_lock
    - pthread_detach
    - fuse_session_exited
    - fuse_chan_put
    - sem_post
    - list_del_worker
    - fuse_session_exit
    - pthread_mutex_unlock
    - likely
    - free
    - fuse_set_thread_name
    - fuse_session_receive_buf_internal
    - fuse_session_process_buf_internal
    linkageType: ''
    returnType: void
    signature: void *fuse_do_work(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_attr_init
      Src: /src/libfuse/lib/fuse_loop_mt.c:226,1
    - Dst: getenv
      Src: /src/libfuse/lib/fuse_loop_mt.c:227,1
    - Dst: libfuse_strtol
      Src: /src/libfuse/lib/fuse_loop_mt.c:231,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:233,1
    - Dst: pthread_attr_setstacksize
      Src: /src/libfuse/lib/fuse_loop_mt.c:235,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:236,1
    - Dst: sigemptyset
      Src: /src/libfuse/lib/fuse_loop_mt.c:241,1
    - Dst: sigaddset
      Src: /src/libfuse/lib/fuse_loop_mt.c:242,1
    - Dst: sigaddset
      Src: /src/libfuse/lib/fuse_loop_mt.c:243,1
    - Dst: sigaddset
      Src: /src/libfuse/lib/fuse_loop_mt.c:244,1
    - Dst: sigaddset
      Src: /src/libfuse/lib/fuse_loop_mt.c:245,1
    - Dst: pthread_sigmask
      Src: /src/libfuse/lib/fuse_loop_mt.c:246,1
    - Dst: pthread_create
      Src: /src/libfuse/lib/fuse_loop_mt.c:247,1
    - Dst: pthread_sigmask
      Src: /src/libfuse/lib/fuse_loop_mt.c:248,1
    - Dst: pthread_attr_destroy
      Src: /src/libfuse/lib/fuse_loop_mt.c:249,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:251,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_loop_mt.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - thread_id
    - (*func)(void *)
    - arg
    argTypes:
    - pthread_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 257
    functionName: fuse_start_thread
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - pthread_attr_init
    - pthread_sigmask
    - pthread_attr_setstacksize
    - strerror
    - pthread_attr_destroy
    - sigaddset
    - fuse_log
    - getenv
    - sigemptyset
    - libfuse_strtol
    linkageType: ''
    returnType: int
    signature: int fuse_start_thread(pthread_t *thread_id, void *(*func)(void *),
      void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/lib/fuse_loop_mt.c:269,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:271,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_loop_mt.c:272,1
    - Dst: fcntl
      Src: /src/libfuse/lib/fuse_loop_mt.c:276,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:278,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_loop_mt.c:279,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_loop_mt.c:280,1
    - Dst: ioctl
      Src: /src/libfuse/lib/fuse_loop_mt.c:286,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:288,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_loop_mt.c:289,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_loop_mt.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 294
    functionName: fuse_clone_chan_fd_default
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached:
    - fcntl
    - strerror
    - open
    - fuse_log
    - close
    - ioctl
    linkageType: ''
    returnType: int
    signature: int fuse_clone_chan_fd_default(struct fuse_session *se)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct fuse_session*::io::clone_fd
      Src: /src/libfuse/lib/fuse_loop_mt.c:304,1
    - Dst: fuse_clone_chan_fd_default
      Src: /src/libfuse/lib/fuse_loop_mt.c:308,1
    - Dst: fuse_chan_new
      Src: /src/libfuse/lib/fuse_loop_mt.c:313,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_loop_mt.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - mt
    argTypes:
    - struct fuse_mt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 318
    functionName: fuse_clone_chan
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached:
    - struct fuse_session*::io::clone_fd
    - fuse_chan_new
    - close
    - fuse_clone_chan_fd_default
    linkageType: ''
    returnType: struct fuse_chan
    signature: struct fuse_chan *fuse_clone_chan(struct fuse_mt *mt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_loop_mt.c:324,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:326,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_loop_mt.c:329,1
    - Dst: fuse_clone_chan
      Src: /src/libfuse/lib/fuse_loop_mt.c:335,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:338,1
    - Dst: fuse_start_thread
      Src: /src/libfuse/lib/fuse_loop_mt.c:344,1
    - Dst: fuse_chan_put
      Src: /src/libfuse/lib/fuse_loop_mt.c:346,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_loop_mt.c:347,1
    - Dst: list_add_worker
      Src: /src/libfuse/lib/fuse_loop_mt.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - mt
    argTypes:
    - struct fuse_mt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 355
    functionName: fuse_loop_start_thread
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 1
    functionsReached:
    - malloc
    - fuse_chan_put
    - memset
    - fuse_log
    - free
    - fuse_start_thread
    - list_add_worker
    - fuse_clone_chan
    linkageType: ''
    returnType: int
    signature: int fuse_loop_start_thread(struct fuse_mt *mt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/libfuse/lib/fuse_loop_mt.c:359,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_loop_mt.c:360,1
    - Dst: list_del_worker
      Src: /src/libfuse/lib/fuse_loop_mt.c:361,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:362,1
    - Dst: fuse_buf_free
      Src: /src/libfuse/lib/fuse_loop_mt.c:363,1
    - Dst: fuse_chan_put
      Src: /src/libfuse/lib/fuse_loop_mt.c:364,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_loop_mt.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - mt
    - w
    argTypes:
    - struct fuse_mt*
    - struct fuse_worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 366
    functionName: fuse_join_worker
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached:
    - fuse_buf_free
    - pthread_mutex_lock
    - fuse_chan_put
    - pthread_join
    - pthread_mutex_unlock
    - free
    - list_del_worker
    linkageType: ''
    returnType: void
    signature: void fuse_join_worker(struct fuse_mt *mt, struct fuse_worker *w)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fuse_loop_cfg_verify
      Src: /src/libfuse/lib/fuse_loop_mt.c:378,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/lib/fuse_loop_mt.c:383,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_loop_mt.c:388,1
    - Dst: pthread_self
      Src: /src/libfuse/lib/fuse_loop_mt.c:396,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_loop_mt.c:399,1
    - Dst: fuse_loop_start_thread
      Src: /src/libfuse/lib/fuse_loop_mt.c:400,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:401,1
    - Dst: fuse_session_exited
      Src: /src/libfuse/lib/fuse_loop_mt.c:403,1
    - Dst: sem_wait
      Src: /src/libfuse/lib/fuse_loop_mt.c:404,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:406,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_loop_mt.c:409,1
    - Dst: pthread_cancel
      Src: /src/libfuse/lib/fuse_loop_mt.c:411,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_loop_mt.c:412,1
    - Dst: fuse_join_worker
      Src: /src/libfuse/lib/fuse_loop_mt.c:415,1
    - Dst: fuse_uring_stop
      Src: /src/libfuse/lib/fuse_loop_mt.c:420,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse_loop_mt.c:423,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/lib/fuse_loop_mt.c:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - se
    - config
    argTypes:
    - struct fuse_session*
    - struct fuse_loop_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 370
    functionDepth: 4
    functionLinenumber: 370
    functionLinenumberEnd: 434
    functionName: fuse_session_loop_mt_312
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 1
    functionsReached:
    - fuse_loop_start_thread
    - pthread_mutex_lock
    - sem_wait
    - fuse_loop_cfg_destroy
    - fuse_session_exited
    - fuse_join_worker
    - fuse_uring_stop
    - memset
    - pthread_mutex_unlock
    - fuse_log
    - pthread_self
    - pthread_mutex_destroy
    - pthread_cancel
    - fuse_loop_cfg_create
    - fuse_loop_cfg_verify
    linkageType: ''
    returnType: int
    signature: int fuse_session_loop_mt_312(struct fuse_session *se, struct fuse_loop_config
      *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/lib/fuse_loop_mt.c:445,1
    - Dst: fuse_loop_cfg_convert
      Src: /src/libfuse/lib/fuse_loop_mt.c:449,1
    - Dst: fuse_session_loop_mt_312
      Src: /src/libfuse/lib/fuse_loop_mt.c:452,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/lib/fuse_loop_mt.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - se
    - config_v1
    argTypes:
    - struct fuse_session*
    - struct fuse_loop_config_v1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 457
    functionName: fuse_session_loop_mt_32
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached:
    - fuse_loop_cfg_convert
    - fuse_loop_cfg_create
    - fuse_loop_cfg_destroy
    - fuse_session_loop_mt_312
    linkageType: ''
    returnType: int
    signature: int fuse_session_loop_mt_32(struct fuse_session *se, struct fuse_loop_config_v1
      *config_v1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/lib/fuse_loop_mt.c:465,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/lib/fuse_loop_mt.c:467,1
    - Dst: fuse_session_loop_mt_312
      Src: /src/libfuse/lib/fuse_loop_mt.c:468,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/lib/fuse_loop_mt.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - se
    - clone_fd
    argTypes:
    - struct fuse_session*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 462
    functionDepth: 5
    functionLinenumber: 462
    functionLinenumberEnd: 473
    functionName: fuse_session_loop_mt_31
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 0
    functionsReached:
    - fuse_loop_cfg_set_clone_fd
    - fuse_session_loop_mt_312
    - fuse_loop_cfg_create
    - fuse_loop_cfg_destroy
    linkageType: ''
    returnType: int
    signature: int fuse_session_loop_mt_31(struct fuse_session *se, int clone_fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/lib/fuse_loop_mt.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: fuse_loop_cfg_create
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 4
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct fuse_loop_config
    signature: struct fuse_loop_config *fuse_loop_cfg_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse_loop_mt.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct fuse_loop_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: fuse_loop_cfg_destroy
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fuse_loop_cfg_destroy(struct fuse_loop_config *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct fuse_loop_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 500
    functionName: fuse_loop_cfg_verify
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuse_loop_cfg_verify(struct fuse_loop_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_loop_cfg_set_idle_threads
      Src: /src/libfuse/lib/fuse_loop_mt.c:505,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/lib/fuse_loop_mt.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - config
    - v1_conf
    argTypes:
    - struct fuse_loop_config*
    - struct fuse_loop_config_v1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: fuse_loop_cfg_convert
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 1
    functionsReached:
    - fuse_loop_cfg_set_idle_threads
    - fuse_loop_cfg_set_clone_fd
    linkageType: ''
    returnType: void
    signature: "void fuse_loop_cfg_convert(struct fuse_loop_config *config,\n\t\t\t
      \  struct fuse_loop_config_v1 *v1_conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_loop_mt.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - config
    - value
    argTypes:
    - struct fuse_loop_config*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: fuse_loop_cfg_set_idle_threads
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 1
    functionsReached:
    - fuse_log
    linkageType: ''
    returnType: void
    signature: "void fuse_loop_cfg_set_idle_threads(struct fuse_loop_config *config,\n\t\t\t\t
      \   unsigned int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - config
    - value
    argTypes:
    - struct fuse_loop_config*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: fuse_loop_cfg_set_max_threads
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void fuse_loop_cfg_set_max_threads(struct fuse_loop_config *config,\n\t\t\t\t
      \  unsigned int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - config
    - value
    argTypes:
    - struct fuse_loop_config*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: fuse_loop_cfg_set_clone_fd
    functionSourceFile: /src/libfuse/lib/fuse_loop_mt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void fuse_loop_cfg_set_clone_fd(struct fuse_loop_config *config,\n\t\t\t\tunsigned
      int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - inarg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: PARAM
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM(inarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/libfuse/lib/fuse_lowlevel.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: fuse_ll_init_pagesize
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - getpagesize
    linkageType: ''
    returnType: void
    signature: void fuse_ll_init_pagesize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: USDT
      Src: /src/libfuse/lib/fuse_lowlevel.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: trace_request_receive
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - USDT
    linkageType: ''
    returnType: void
    signature: void trace_request_receive(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: USDT
      Src: /src/libfuse/lib/fuse_lowlevel.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opcode
    - unique
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: trace_request_process
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - USDT
    linkageType: ''
    returnType: void
    signature: void trace_request_process(unsigned int opcode, unsigned int unique)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: USDT
      Src: /src/libfuse/lib/fuse_lowlevel.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - unique
    - len
    - error
    - reply_err
    argTypes:
    - uint64_t
    - unsigned int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: trace_request_reply
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - USDT
    linkageType: ''
    returnType: void
    signature: "void trace_request_reply(uint64_t unique, unsigned int len,\n\t\t\t\tint
      error, int reply_err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: trace_request_receive
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trace_request_receive(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opcode
    - unique
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: trace_request_process
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trace_request_process(unsigned int opcode, unsigned int unique)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - unique
    - len
    - error
    - reply_err
    argTypes:
    - uint64_t
    - unsigned int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: trace_request_reply
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void trace_request_reply(uint64_t unique, unsigned int len,\n\t\t\t\tint
      error, int reply_err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ST_ATIM_NSEC
      Src: /src/libfuse/lib/fuse_lowlevel.c:120,1
    - Dst: ST_MTIM_NSEC
      Src: /src/libfuse/lib/fuse_lowlevel.c:121,1
    - Dst: ST_CTIM_NSEC
      Src: /src/libfuse/lib/fuse_lowlevel.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - stbuf
    - attr
    argTypes:
    - struct stat*
    - struct fuse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: convert_stat
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - ST_MTIM_NSEC
    - ST_CTIM_NSEC
    - ST_ATIM_NSEC
    linkageType: ''
    returnType: void
    signature: void convert_stat(const struct stat *stbuf, struct fuse_attr *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ST_ATIM_NSEC_SET
      Src: /src/libfuse/lib/fuse_lowlevel.c:134,1
    - Dst: ST_MTIM_NSEC_SET
      Src: /src/libfuse/lib/fuse_lowlevel.c:135,1
    - Dst: ST_CTIM_NSEC_SET
      Src: /src/libfuse/lib/fuse_lowlevel.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - attr
    - stbuf
    argTypes:
    - struct fuse_setattr_in*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: convert_attr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - ST_MTIM_NSEC_SET
    - ST_ATIM_NSEC_SET
    - ST_CTIM_NSEC_SET
    linkageType: ''
    returnType: void
    signature: void convert_attr(const struct fuse_setattr_in *attr, struct stat *stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - iov
    - count
    argTypes:
    - struct iovec*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: iov_length
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t iov_length(const struct iovec *iov, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct fuse_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: list_init_req
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_init_req(struct fuse_req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct fuse_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: list_del_req
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_del_req(struct fuse_req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - next
    argTypes:
    - struct fuse_req*
    - struct fuse_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: list_add_req
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_add_req(struct fuse_req *req, struct fuse_req *next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:175,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse_lowlevel.c:178,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse_lowlevel.c:179,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts:
    - condition: (req->ch == NULL)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/libfuse/lib/fuse_lowlevel.c
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: destroy_req
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - free
    - fuse_log
    - pthread_mutex_destroy
    - assert
    linkageType: ''
    returnType: void
    signature: void destroy_req(fuse_req_t req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_chan_put
      Src: /src/libfuse/lib/fuse_lowlevel.c:194,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:197,1
    - Dst: list_del_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:200,1
    - Dst: fuse_chan_put
      Src: /src/libfuse/lib/fuse_lowlevel.c:202,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:204,1
    - Dst: destroy_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 208
    functionName: fuse_free_req
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - list_del_req
    - fuse_chan_put
    - pthread_mutex_unlock
    - destroy_req
    linkageType: ''
    returnType: void
    signature: void fuse_free_req(fuse_req_t req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:214,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:216,1
    - Dst: list_init_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:220,1
    - Dst: pthread_mutex_init
      Src: /src/libfuse/lib/fuse_lowlevel.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 225
    functionName: fuse_ll_alloc_req
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - list_init_req
    - fuse_log
    - calloc
    linkageType: ''
    returnType: struct fuse_req
    signature: struct fuse_req *fuse_ll_alloc_req(struct fuse_session *se)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct fuse_session*::io::writev
      Src: /src/libfuse/lib/fuse_lowlevel.c:241,1
    - Dst: writev
      Src: /src/libfuse/lib/fuse_lowlevel.c:244,1
    - Dst: fuse_session_exited
      Src: /src/libfuse/lib/fuse_lowlevel.c:249,1
    - Dst: perror
      Src: /src/libfuse/lib/fuse_lowlevel.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - se
    - ch
    - iov
    - count
    argTypes:
    - struct fuse_session*
    - struct fuse_chan*
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 255
    functionName: fuse_write_msg_dev
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - perror
    - fuse_session_exited
    - writev
    - struct fuse_session*::io::writev
    linkageType: ''
    returnType: int
    signature: "int fuse_write_msg_dev(struct fuse_session *se, struct fuse_chan *ch,\n\t\t\t
      \    struct iovec *iov, int count)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/lib/fuse_lowlevel.c:265,1
    - Dst: iov_length
      Src: /src/libfuse/lib/fuse_lowlevel.c:266,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:270,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:273,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_lowlevel.c:276,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:278,1
    - Dst: fuse_send_msg_uring
      Src: /src/libfuse/lib/fuse_lowlevel.c:285,1
    - Dst: fuse_write_msg_dev
      Src: /src/libfuse/lib/fuse_lowlevel.c:287,1
    - Dst: trace_request_reply
      Src: /src/libfuse/lib/fuse_lowlevel.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - se
    - ch
    - iov
    - count
    - req
    argTypes:
    - struct fuse_session*
    - struct fuse_chan*
    - struct iovec*
    - int
    - fuse_req_t
    assertStmts:
    - condition: (se != NULL)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/libfuse/lib/fuse_lowlevel.c
    constantsTouched: []
    func_position:
      end: 291
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 291
    functionName: fuse_send_msg
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - assert
    - strerror
    - iov_length
    - fuse_send_msg_uring
    - fuse_log
    - trace_request_reply
    - fuse_write_msg_dev
    linkageType: ''
    returnType: int
    signature: "int fuse_send_msg(struct fuse_session *se, struct fuse_chan *ch,\n\t\t\t
      struct iovec *iov, int count, fuse_req_t req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_send_reply_iov_nofree
      Src: /src/libfuse/lib/fuse_lowlevel.c:322,1
    - Dst: fuse_free_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - req
    - error
    - iov
    - count
    argTypes:
    - fuse_req_t
    - int
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: send_reply_iov
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_free_req
    - fuse_send_reply_iov_nofree
    linkageType: ''
    returnType: int
    signature: "int send_reply_iov(fuse_req_t req, int error, struct iovec *iov,\n\t\t\t
      \ int count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send_reply_uring
      Src: /src/libfuse/lib/fuse_lowlevel.c:331,1
    - Dst: send_reply_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - req
    - error
    - arg
    - argsize
    argTypes:
    - fuse_req_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: send_reply
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - send_reply_iov
    - send_reply_uring
    linkageType: ''
    returnType: int
    signature: "int send_reply(fuse_req_t req, int error, const void *arg,\n\t\t      size_t
      argsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:348,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:350,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse_lowlevel.c:352,1
    - Dst: send_reply_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:355,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - req
    - iov
    - count
    argTypes:
    - fuse_req_t
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 343
    functionDepth: 4
    functionLinenumber: 343
    functionLinenumberEnd: 359
    functionName: fuse_reply_iov
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - malloc
    - send_reply_iov
    - memcpy
    - free
    - fuse_reply_err
    linkageType: ''
    returnType: int
    signature: int fuse_reply_iov(fuse_req_t req, const struct iovec *iov, int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_lowlevel.c:373,1
    - Dst: FUSE_DIRENT_ALIGN
      Src: /src/libfuse/lib/fuse_lowlevel.c:375,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse_lowlevel.c:385,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - req
    - buf
    - bufsize
    - name
    - stbuf
    - 'off'
    argTypes:
    - fuse_req_t
    - char*
    - size_t
    - char*
    - struct stat*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 389
    functionName: fuse_add_direntry
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - strlen
    - memcpy
    - FUSE_DIRENT_ALIGN
    linkageType: ''
    returnType: size_t
    signature: "size_t fuse_add_direntry(fuse_req_t req, char *buf, size_t bufsize,\n\t\t\t
      const char *name, const struct stat *stbuf, off_t off)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - stbuf
    - kstatfs
    argTypes:
    - struct statvfs*
    - struct fuse_kstatfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: convert_statfs
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void convert_statfs(const struct statvfs *stbuf,\n\t\t\t   struct
      fuse_kstatfs *kstatfs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_reply
      Src: /src/libfuse/lib/fuse_lowlevel.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - arg
    - argsize
    argTypes:
    - fuse_req_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 5
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: send_reply_ok
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - send_reply
    linkageType: ''
    returnType: int
    signature: int send_reply_ok(fuse_req_t req, const void *arg, size_t argsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_reply
      Src: /src/libfuse/lib/fuse_lowlevel.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - err
    argTypes:
    - fuse_req_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: fuse_reply_err
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 10
    functionsReached:
    - send_reply
    linkageType: ''
    returnType: int
    signature: int fuse_reply_err(fuse_req_t req, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_free_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: fuse_reply_none
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_free_req
    linkageType: ''
    returnType: void
    signature: void fuse_reply_none(fuse_req_t req)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 427
    functionName: calc_timeout_sec
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long calc_timeout_sec(double t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calc_timeout_sec
      Src: /src/libfuse/lib/fuse_lowlevel.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 438
    functionName: calc_timeout_nsec
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - calc_timeout_sec
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int calc_timeout_nsec(double t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calc_timeout_sec
      Src: /src/libfuse/lib/fuse_lowlevel.c:445,1
    - Dst: calc_timeout_nsec
      Src: /src/libfuse/lib/fuse_lowlevel.c:446,1
    - Dst: calc_timeout_sec
      Src: /src/libfuse/lib/fuse_lowlevel.c:447,1
    - Dst: calc_timeout_nsec
      Src: /src/libfuse/lib/fuse_lowlevel.c:448,1
    - Dst: convert_stat
      Src: /src/libfuse/lib/fuse_lowlevel.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - arg
    - e
    argTypes:
    - struct fuse_entry_out*
    - struct fuse_entry_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 450
    functionName: fill_entry
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - calc_timeout_sec
    - convert_stat
    - calc_timeout_nsec
    linkageType: ''
    returnType: void
    signature: "void fill_entry(struct fuse_entry_out *arg,\n\t\t       const struct
      fuse_entry_param *e)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_lowlevel.c:463,1
    - Dst: FUSE_DIRENT_ALIGN
      Src: /src/libfuse/lib/fuse_lowlevel.c:465,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:470,1
    - Dst: fill_entry
      Src: /src/libfuse/lib/fuse_lowlevel.c:471,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse_lowlevel.c:478,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - req
    - buf
    - bufsize
    - name
    - e
    - 'off'
    argTypes:
    - fuse_req_t
    - char*
    - size_t
    - char*
    - struct fuse_entry_param*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 482
    functionName: fuse_add_direntry_plus
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fill_entry
    - memcpy
    - FUSE_DIRENT_ALIGN
    - memset
    - strlen
    linkageType: ''
    returnType: size_t
    signature: "size_t fuse_add_direntry_plus(fuse_req_t req, char *buf, size_t bufsize,\n\t\t\t
      \     const char *name,\n\t\t\t      const struct fuse_entry_param *e, off_t
      off)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - arg
    - f
    argTypes:
    - struct fuse_open_out*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 504
    functionName: fill_open
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void fill_open(struct fuse_open_out *arg,\n\t\t      const struct
      fuse_file_info *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:515,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:517,1
    - Dst: fill_entry
      Src: /src/libfuse/lib/fuse_lowlevel.c:518,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - req
    - e
    argTypes:
    - fuse_req_t
    - struct fuse_entry_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 506
    functionDepth: 6
    functionLinenumber: 506
    functionLinenumberEnd: 520
    functionName: fuse_reply_entry
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 2
    functionsReached:
    - fuse_reply_err
    - fill_entry
    - send_reply_ok
    - memset
    linkageType: ''
    returnType: int
    signature: int fuse_reply_entry(fuse_req_t req, const struct fuse_entry_param
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:531,1
    - Dst: fill_entry
      Src: /src/libfuse/lib/fuse_lowlevel.c:532,1
    - Dst: fill_open
      Src: /src/libfuse/lib/fuse_lowlevel.c:533,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - req
    - e
    - f
    argTypes:
    - fuse_req_t
    - struct fuse_entry_param*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 522
    functionDepth: 6
    functionLinenumber: 522
    functionLinenumberEnd: 536
    functionName: fuse_reply_create
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - fill_entry
    - fill_open
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: "int fuse_reply_create(fuse_req_t req, const struct fuse_entry_param
      *e,\n\t\t      const struct fuse_file_info *f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:545,1
    - Dst: calc_timeout_sec
      Src: /src/libfuse/lib/fuse_lowlevel.c:546,1
    - Dst: calc_timeout_nsec
      Src: /src/libfuse/lib/fuse_lowlevel.c:547,1
    - Dst: convert_stat
      Src: /src/libfuse/lib/fuse_lowlevel.c:548,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - req
    - attr
    - attr_timeout
    argTypes:
    - fuse_req_t
    - struct stat*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 538
    functionDepth: 6
    functionLinenumber: 538
    functionLinenumberEnd: 551
    functionName: fuse_reply_attr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 2
    functionsReached:
    - send_reply_ok
    - calc_timeout_nsec
    - calc_timeout_sec
    - convert_stat
    - memset
    linkageType: ''
    returnType: int
    signature: "int fuse_reply_attr(fuse_req_t req, const struct stat *attr,\n\t\t
      \   double attr_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:555,1
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_lowlevel.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - linkname
    argTypes:
    - fuse_req_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 6
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: fuse_reply_readlink
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - strlen
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: int fuse_reply_readlink(fuse_req_t req, const char *linkname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libfuse/lib/fuse_lowlevel.c:563,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:565,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_lowlevel.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - req
    - fd
    argTypes:
    - fuse_req_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 570
    functionName: fuse_passthrough_open
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - strerror
    - fuse_log
    - ioctl
    linkageType: ''
    returnType: int
    signature: int fuse_passthrough_open(fuse_req_t req, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libfuse/lib/fuse_lowlevel.c:576,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:578,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_lowlevel.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - req
    - backing_id
    argTypes:
    - fuse_req_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 581
    functionName: fuse_passthrough_close
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - strerror
    - fuse_log
    - ioctl
    linkageType: ''
    returnType: int
    signature: int fuse_passthrough_close(fuse_req_t req, int backing_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:587,1
    - Dst: fill_open
      Src: /src/libfuse/lib/fuse_lowlevel.c:588,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - f
    argTypes:
    - fuse_req_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 6
    functionLinenumber: 583
    functionLinenumberEnd: 590
    functionName: fuse_reply_open
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 2
    functionsReached:
    - memset
    - fill_open
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: int fuse_reply_open(fuse_req_t req, const struct fuse_file_info *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:596,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - count
    argTypes:
    - fuse_req_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 592
    functionDepth: 6
    functionLinenumber: 592
    functionLinenumberEnd: 600
    functionName: do_fuse_reply_write
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: int do_fuse_reply_write(fuse_req_t req, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:606,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - count
    argTypes:
    - fuse_req_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 602
    functionDepth: 6
    functionLinenumber: 602
    functionLinenumberEnd: 610
    functionName: do_fuse_reply_copy
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: int do_fuse_reply_copy(fuse_req_t req, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_fuse_reply_copy
      Src: /src/libfuse/lib/fuse_lowlevel.c:619,1
    - Dst: do_fuse_reply_write
      Src: /src/libfuse/lib/fuse_lowlevel.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - req
    - count
    argTypes:
    - fuse_req_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 7
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: fuse_reply_write
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 2
    functionsReached:
    - do_fuse_reply_write
    - do_fuse_reply_copy
    linkageType: ''
    returnType: int
    signature: int fuse_reply_write(fuse_req_t req, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - buf
    - size
    argTypes:
    - fuse_req_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 6
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: fuse_reply_buf
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: int fuse_reply_buf(fuse_req_t req, const char *buf, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/lib/fuse_lowlevel.c:635,1
    - Dst: fuse_send_msg
      Src: /src/libfuse/lib/fuse_lowlevel.c:648,1
    - Dst: posix_memalign
      Src: /src/libfuse/lib/fuse_lowlevel.c:651,1
    - Dst: fuse_buf_copy
      Src: /src/libfuse/lib/fuse_lowlevel.c:656,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:658,1
    - Dst: fuse_send_msg
      Src: /src/libfuse/lib/fuse_lowlevel.c:666,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - se
    - ch
    - iov
    - iov_count
    - buf
    - len
    - req
    argTypes:
    - struct fuse_session*
    - struct fuse_chan*
    - struct iovec*
    - int
    - struct fuse_bufvec*
    - size_t
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 670
    functionName: fuse_send_data_iov_fallback
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_send_msg
    - fuse_buf_copy
    - free
    - posix_memalign
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: int
    signature: "int fuse_send_data_iov_fallback(struct fuse_session *se,\n\t\t\t\t
      \      struct fuse_chan *ch,\n\t\t\t\t       struct iovec *iov, int iov_count,\n\t\t\t\t
      \      struct fuse_bufvec *buf,\n\t\t\t\t       size_t len, fuse_req_t req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/lib/fuse_lowlevel.c:680,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_lowlevel.c:681,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - llp
    argTypes:
    - struct fuse_ll_pipe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: fuse_ll_pipe_free
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - close
    - free
    linkageType: ''
    returnType: void
    signature: void fuse_ll_pipe_free(struct fuse_ll_pipe *llp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/libfuse/lib/fuse_lowlevel.c:689,1
    - Dst: fcntl
      Src: /src/libfuse/lib/fuse_lowlevel.c:694,1
    - Dst: fcntl
      Src: /src/libfuse/lib/fuse_lowlevel.c:695,1
    - Dst: fcntl
      Src: /src/libfuse/lib/fuse_lowlevel.c:696,1
    - Dst: fcntl
      Src: /src/libfuse/lib/fuse_lowlevel.c:697,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_lowlevel.c:698,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_lowlevel.c:699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - fds
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 703
    functionName: fuse_pipe
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fcntl
    - close
    - pipe
    linkageType: ''
    returnType: int
    signature: int fuse_pipe(int fds[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pipe2
      Src: /src/libfuse/lib/fuse_lowlevel.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fds
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: fuse_pipe
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - pipe2
    linkageType: ''
    returnType: int
    signature: int fuse_pipe(int fds[2])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/libfuse/lib/fuse_lowlevel.c:713,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:717,1
    - Dst: fuse_pipe
      Src: /src/libfuse/lib/fuse_lowlevel.c:721,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:723,1
    - Dst: pthread_setspecific
      Src: /src/libfuse/lib/fuse_lowlevel.c:733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 737
    functionName: fuse_ll_get_pipe
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - malloc
    - fuse_pipe
    - pthread_getspecific
    - free
    - pthread_setspecific
    linkageType: ''
    returnType: struct fuse_ll_pipe
    signature: struct fuse_ll_pipe *fuse_ll_get_pipe(struct fuse_session *se)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/libfuse/lib/fuse_lowlevel.c:742,1
    - Dst: pthread_setspecific
      Src: /src/libfuse/lib/fuse_lowlevel.c:744,1
    - Dst: fuse_ll_pipe_free
      Src: /src/libfuse/lib/fuse_lowlevel.c:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 747
    functionName: fuse_ll_clear_pipe
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_ll_pipe_free
    - pthread_setspecific
    - pthread_getspecific
    linkageType: ''
    returnType: void
    signature: void fuse_ll_clear_pipe(struct fuse_session *se)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libfuse/lib/fuse_lowlevel.c:754,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:756,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_lowlevel.c:758,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 768
    functionName: read_back
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - strerror
    - fuse_log
    - read
    linkageType: ''
    returnType: int
    signature: int read_back(int fd, char *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/lib/fuse_lowlevel.c:777,1
    - Dst: read
      Src: /src/libfuse/lib/fuse_lowlevel.c:781,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_lowlevel.c:786,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_lowlevel.c:789,1
    - Dst: libfuse_strtol
      Src: /src/libfuse/lib/fuse_lowlevel.c:792,1
    - Dst: fcntl
      Src: /src/libfuse/lib/fuse_lowlevel.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pipefd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 799
    functionName: grow_pipe_to_max
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fcntl
    - read
    - open
    - close
    - libfuse_strtol
    linkageType: ''
    returnType: int
    signature: int grow_pipe_to_max(int pipefd)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: fuse_buf_size
      Src: /src/libfuse/lib/fuse_lowlevel.c:807,1
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/lib/fuse_lowlevel.c:815,1
    - Dst: fuse_ll_get_pipe
      Src: /src/libfuse/lib/fuse_lowlevel.c:836,1
    - Dst: iov_length
      Src: /src/libfuse/lib/fuse_lowlevel.c:841,1
    - Dst: fcntl
      Src: /src/libfuse/lib/fuse_lowlevel.c:853,1
    - Dst: grow_pipe_to_max
      Src: /src/libfuse/lib/fuse_lowlevel.c:855,1
    - Dst: vmsplice
      Src: /src/libfuse/lib/fuse_lowlevel.c:868,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:874,1
    - Dst: fuse_buf_copy
      Src: /src/libfuse/lib/fuse_lowlevel.c:882,1
    - Dst: pthread_setspecific
      Src: /src/libfuse/lib/fuse_lowlevel.c:899,1
    - Dst: fuse_ll_pipe_free
      Src: /src/libfuse/lib/fuse_lowlevel.c:900,1
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/lib/fuse_lowlevel.c:908,1
    - Dst: posix_memalign
      Src: /src/libfuse/lib/fuse_lowlevel.c:920,1
    - Dst: fuse_buf_copy
      Src: /src/libfuse/lib/fuse_lowlevel.c:926,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:935,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:937,1
    - Dst: read_back
      Src: /src/libfuse/lib/fuse_lowlevel.c:941,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:942,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:944,1
    - Dst: read_back
      Src: /src/libfuse/lib/fuse_lowlevel.c:947,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:949,1
    - Dst: fuse_send_msg
      Src: /src/libfuse/lib/fuse_lowlevel.c:956,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:957,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:960,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:967,1
    - Dst: struct fuse_session*::io::splice_send
      Src: /src/libfuse/lib/fuse_lowlevel.c:978,1
    - Dst: splice
      Src: /src/libfuse/lib/fuse_lowlevel.c:982,1
    - Dst: perror
      Src: /src/libfuse/lib/fuse_lowlevel.c:987,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:992,1
    - Dst: fuse_ll_clear_pipe
      Src: /src/libfuse/lib/fuse_lowlevel.c:999,1
    - Dst: fuse_send_data_iov_fallback
      Src: /src/libfuse/lib/fuse_lowlevel.c:1003,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 142
    argCount: 7
    argNames:
    - se
    - ch
    - iov
    - iov_count
    - buf
    - flags
    - req
    argTypes:
    - struct fuse_session*
    - struct fuse_chan*
    - struct iovec*
    - int
    - struct fuse_bufvec*
    - unsigned int
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 1004
    functionName: fuse_send_data_iov
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fcntl
    - malloc
    - fuse_ll_pipe_free
    - fuse_send_msg
    - fuse_buf_size
    - grow_pipe_to_max
    - splice
    - vmsplice
    - fuse_ll_get_pipe
    - perror
    - read_back
    - fuse_send_data_iov_fallback
    - iov_length
    - fuse_buf_copy
    - pthread_setspecific
    - FUSE_BUFVEC_INIT
    - fuse_log
    - free
    - struct fuse_session*::io::splice_send
    - fuse_ll_clear_pipe
    - posix_memalign
    linkageType: ''
    returnType: int
    signature: "int fuse_send_data_iov(struct fuse_session *se, struct fuse_chan *ch,\n\t\t\t
      \     struct iovec *iov, int iov_count,\n\t\t\t      struct fuse_bufvec *buf,
      unsigned int flags,\n\t\t\t      fuse_req_t req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_buf_size
      Src: /src/libfuse/lib/fuse_lowlevel.c:1011,1
    - Dst: fuse_send_data_iov_fallback
      Src: /src/libfuse/lib/fuse_lowlevel.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - se
    - ch
    - iov
    - iov_count
    - req_data
    - flags
    - req
    argTypes:
    - struct fuse_session*
    - struct fuse_chan*
    - struct iovec*
    - int
    - struct fuse_bufvec*
    - unsigned int
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1006
    functionDepth: 4
    functionLinenumber: 1006
    functionLinenumberEnd: 1015
    functionName: fuse_send_data_iov
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_buf_size
    - fuse_send_data_iov_fallback
    linkageType: ''
    returnType: int
    signature: "int fuse_send_data_iov(struct fuse_session *se, struct fuse_chan *ch,\n\t\t\t
      \      struct iovec *iov, int iov_count,\n\t\t\t       struct fuse_bufvec *req_data,
      unsigned int flags,\n\t\t\t       fuse_req_t req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_data_uring
      Src: /src/libfuse/lib/fuse_lowlevel.c:1026,1
    - Dst: fuse_send_data_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:1034,1
    - Dst: fuse_free_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:1036,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1039,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - req
    - bufv
    - flags
    argTypes:
    - fuse_req_t
    - struct fuse_bufvec*
    - enum fuse_buf_copy_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1018
    functionDepth: 6
    functionLinenumber: 1018
    functionLinenumberEnd: 1041
    functionName: fuse_reply_data
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_reply_data_uring
    - fuse_free_req
    - fuse_send_data_iov
    linkageType: ''
    returnType: int
    signature: "int fuse_reply_data(fuse_req_t req, struct fuse_bufvec *bufv,\n\t\t
      \   enum fuse_buf_copy_flags flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1049,1
    - Dst: convert_statfs
      Src: /src/libfuse/lib/fuse_lowlevel.c:1050,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - stbuf
    argTypes:
    - fuse_req_t
    - struct statvfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1043
    functionDepth: 6
    functionLinenumber: 1043
    functionLinenumberEnd: 1053
    functionName: fuse_reply_statfs
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - send_reply_ok
    - convert_statfs
    linkageType: ''
    returnType: int
    signature: int fuse_reply_statfs(fuse_req_t req, const struct statvfs *stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1059,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - count
    argTypes:
    - fuse_req_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1055
    functionDepth: 6
    functionLinenumber: 1055
    functionLinenumberEnd: 1063
    functionName: fuse_reply_xattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: int fuse_reply_xattr(fuse_req_t req, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1069,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - req
    - lock
    argTypes:
    - fuse_req_t
    - struct flock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1065
    functionDepth: 6
    functionLinenumber: 1065
    functionLinenumberEnd: 1080
    functionName: fuse_reply_lock
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: int fuse_reply_lock(fuse_req_t req, const struct flock *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1086,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - idx
    argTypes:
    - fuse_req_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1082
    functionDepth: 6
    functionLinenumber: 1082
    functionLinenumberEnd: 1090
    functionName: fuse_reply_bmap
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: int fuse_reply_bmap(fuse_req_t req, uint64_t idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:1098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - iov
    - count
    argTypes:
    - struct iovec*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1108
    functionName: fuse_ioctl_iovec_copy
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct fuse_ioctl_iovec
    signature: "struct fuse_ioctl_iovec *fuse_ioctl_iovec_copy(const struct iovec
      *iov,\n\t\t\t\t\t\t      size_t count)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1121,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1144,1
    - Dst: fuse_ioctl_iovec_copy
      Src: /src/libfuse/lib/fuse_lowlevel.c:1149,1
    - Dst: fuse_ioctl_iovec_copy
      Src: /src/libfuse/lib/fuse_lowlevel.c:1158,1
    - Dst: send_reply_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:1168,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:1170,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:1171,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1176,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 5
    argNames:
    - req
    - in_iov
    - in_count
    - out_iov
    - out_count
    argTypes:
    - fuse_req_t
    - struct iovec*
    - size_t
    - struct iovec*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1110
    functionDepth: 6
    functionLinenumber: 1110
    functionLinenumberEnd: 1178
    functionName: fuse_reply_ioctl_retry
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - send_reply_iov
    - memset
    - free
    - fuse_reply_err
    - fuse_ioctl_iovec_copy
    linkageType: ''
    returnType: int
    signature: "int fuse_reply_ioctl_retry(fuse_req_t req,\n\t\t\t   const struct
      iovec *in_iov, size_t in_count,\n\t\t\t   const struct iovec *out_iov, size_t
      out_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1186,1
    - Dst: send_reply_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:1198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - req
    - result
    - buf
    - size
    argTypes:
    - fuse_req_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1180
    functionDepth: 4
    functionLinenumber: 1180
    functionLinenumberEnd: 1199
    functionName: fuse_reply_ioctl
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - send_reply_iov
    - memset
    linkageType: ''
    returnType: int
    signature: int fuse_reply_ioctl(fuse_req_t req, int result, const void *buf, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:1208,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1210,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1212,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse_lowlevel.c:1217,1
    - Dst: send_reply_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:1219,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:1220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - req
    - result
    - iov
    - count
    argTypes:
    - fuse_req_t
    - int
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1201
    functionDepth: 6
    functionLinenumber: 1201
    functionLinenumberEnd: 1223
    functionName: fuse_reply_ioctl_iov
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - malloc
    - send_reply_iov
    - memcpy
    - memset
    - free
    - fuse_reply_err
    linkageType: ''
    returnType: int
    signature: "int fuse_reply_ioctl_iov(fuse_req_t req, int result, const struct
      iovec *iov,\n\t\t\t int count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1229,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - revents
    argTypes:
    - fuse_req_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1225
    functionDepth: 6
    functionLinenumber: 1225
    functionLinenumberEnd: 1233
    functionName: fuse_reply_poll
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: int fuse_reply_poll(fuse_req_t req, unsigned revents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1239,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - 'off'
    argTypes:
    - fuse_req_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1235
    functionDepth: 6
    functionLinenumber: 1235
    functionLinenumberEnd: 1243
    functionName: fuse_reply_lseek
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - send_reply_ok
    linkageType: ''
    returnType: int
    signature: int fuse_reply_lseek(fuse_req_t req, off_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1251,1
    - Dst: calc_timeout_sec
      Src: /src/libfuse/lib/fuse_lowlevel.c:1253,1
    - Dst: calc_timeout_nsec
      Src: /src/libfuse/lib/fuse_lowlevel.c:1254,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse_lowlevel.c:1255,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - req
    - flags
    - statx
    - attr_timeout
    argTypes:
    - fuse_req_t
    - int
    - struct statx*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1246
    functionDepth: 6
    functionLinenumber: 1246
    functionLinenumberEnd: 1258
    functionName: fuse_reply_statx
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memcpy
    - send_reply_ok
    - calc_timeout_nsec
    - calc_timeout_sec
    - memset
    linkageType: ''
    returnType: int
    signature: "int fuse_reply_statx(fuse_req_t req, int flags, struct statx *statx,\n\t\t
      \    double attr_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - req
    - flags
    - statx
    - attr_timeout
    argTypes:
    - fuse_req_t
    - int
    - struct statx*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1269
    functionName: fuse_reply_statx
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuse_reply_statx(fuse_req_t req, int flags, struct statx *statx,\n\t\t
      \    double attr_timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::lookup
      Src: /src/libfuse/lib/fuse_lowlevel.c:1280,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1272
    functionDepth: 6
    functionLinenumber: 1272
    functionLinenumberEnd: 1283
    functionName: _do_lookup
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::lookup
    linkageType: ''
    returnType: void
    signature: "void _do_lookup(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_lookup
      Src: /src/libfuse/lib/fuse_lowlevel.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1285
    functionDepth: 7
    functionLinenumber: 1285
    functionLinenumberEnd: 1289
    functionName: do_lookup
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_lookup
    linkageType: ''
    returnType: void
    signature: "void do_lookup(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::forget
      Src: /src/libfuse/lib/fuse_lowlevel.c:1299,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/lib/fuse_lowlevel.c:1301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1291
    functionDepth: 4
    functionLinenumber: 1291
    functionLinenumberEnd: 1302
    functionName: _do_forget
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_req_t::se::op::forget
    - fuse_reply_none
    linkageType: ''
    returnType: void
    signature: "void _do_forget(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_forget
      Src: /src/libfuse/lib/fuse_lowlevel.c:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1304
    functionDepth: 5
    functionLinenumber: 1304
    functionLinenumberEnd: 1308
    functionName: do_forget
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_forget
    linkageType: ''
    returnType: void
    signature: "void do_forget(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *inarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::forget_multi
      Src: /src/libfuse/lib/fuse_lowlevel.c:1320,1
    - Dst: fuse_ll_alloc_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:1327,1
    - Dst: fuse_req_t::se::op::forget
      Src: /src/libfuse/lib/fuse_lowlevel.c:1335,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/lib/fuse_lowlevel.c:1338,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/lib/fuse_lowlevel.c:1340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1310
    functionDepth: 4
    functionLinenumber: 1310
    functionLinenumberEnd: 1342
    functionName: _do_batch_forget
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_req_t::se::op::forget_multi
    - fuse_req_t::se::op::forget
    - fuse_ll_alloc_req
    - fuse_reply_none
    linkageType: ''
    returnType: void
    signature: "void _do_batch_forget(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \    const void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:1348,1
    - Dst: _do_batch_forget
      Src: /src/libfuse/lib/fuse_lowlevel.c:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 5
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: do_batch_forget
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_batch_forget
    - PARAM
    linkageType: ''
    returnType: void
    signature: "void do_batch_forget(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \   const void *inarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1364,1
    - Dst: fuse_req_t::se::op::getattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:1371,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1353
    functionDepth: 6
    functionLinenumber: 1353
    functionLinenumberEnd: 1374
    functionName: _do_getattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_req_t::se::op::getattr
    - memset
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void _do_getattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_getattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1376
    functionDepth: 7
    functionLinenumber: 1376
    functionLinenumberEnd: 1380
    functionName: do_getattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_getattr
    linkageType: ''
    returnType: void
    signature: "void do_getattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *inarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1393,1
    - Dst: convert_attr
      Src: /src/libfuse/lib/fuse_lowlevel.c:1394,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1397,1
    - Dst: fuse_req_t::se::op::setattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:1408,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1382
    functionDepth: 6
    functionLinenumber: 1382
    functionLinenumberEnd: 1411
    functionName: _do_setattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::setattr
    - convert_attr
    linkageType: ''
    returnType: void
    signature: "void _do_setattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_setattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1413
    functionDepth: 7
    functionLinenumber: 1413
    functionLinenumberEnd: 1417
    functionName: do_setattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_setattr
    linkageType: ''
    returnType: void
    signature: "void do_setattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::access
      Src: /src/libfuse/lib/fuse_lowlevel.c:1426,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1419
    functionDepth: 6
    functionLinenumber: 1419
    functionLinenumberEnd: 1429
    functionName: _do_access
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::access
    linkageType: ''
    returnType: void
    signature: "void _do_access(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_access
      Src: /src/libfuse/lib/fuse_lowlevel.c:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1431
    functionDepth: 7
    functionLinenumber: 1431
    functionLinenumberEnd: 1435
    functionName: do_access
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_access
    linkageType: ''
    returnType: void
    signature: "void do_access(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::readlink
      Src: /src/libfuse/lib/fuse_lowlevel.c:1444,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1437
    functionDepth: 6
    functionLinenumber: 1437
    functionLinenumberEnd: 1447
    functionName: _do_readlink
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_req_t::se::op::readlink
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void _do_readlink(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      const void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_readlink
      Src: /src/libfuse/lib/fuse_lowlevel.c:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 7
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: do_readlink
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_readlink
    linkageType: ''
    returnType: void
    signature: "void do_readlink(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *inarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::mknod
      Src: /src/libfuse/lib/fuse_lowlevel.c:1465,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1455
    functionDepth: 6
    functionLinenumber: 1455
    functionLinenumberEnd: 1468
    functionName: _do_mknod
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::mknod
    linkageType: ''
    returnType: void
    signature: "void _do_mknod(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:1473,1
    - Dst: _do_mknod
      Src: /src/libfuse/lib/fuse_lowlevel.c:1478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1470
    functionDepth: 7
    functionLinenumber: 1470
    functionLinenumberEnd: 1479
    functionName: do_mknod
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_mknod
    - PARAM
    linkageType: ''
    returnType: void
    signature: void do_mknod(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::mkdir
      Src: /src/libfuse/lib/fuse_lowlevel.c:1491,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1481
    functionDepth: 6
    functionLinenumber: 1481
    functionLinenumberEnd: 1494
    functionName: _do_mkdir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::mkdir
    linkageType: ''
    returnType: void
    signature: "void _do_mkdir(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:1499,1
    - Dst: _do_mkdir
      Src: /src/libfuse/lib/fuse_lowlevel.c:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1496
    functionDepth: 7
    functionLinenumber: 1496
    functionLinenumberEnd: 1502
    functionName: do_mkdir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_mkdir
    - PARAM
    linkageType: ''
    returnType: void
    signature: void do_mkdir(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::unlink
      Src: /src/libfuse/lib/fuse_lowlevel.c:1511,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1504
    functionDepth: 6
    functionLinenumber: 1504
    functionLinenumberEnd: 1514
    functionName: _do_unlink
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::unlink
    linkageType: ''
    returnType: void
    signature: "void _do_unlink(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_unlink
      Src: /src/libfuse/lib/fuse_lowlevel.c:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1516
    functionDepth: 7
    functionLinenumber: 1516
    functionLinenumberEnd: 1520
    functionName: do_unlink
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_unlink
    linkageType: ''
    returnType: void
    signature: "void do_unlink(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::rmdir
      Src: /src/libfuse/lib/fuse_lowlevel.c:1529,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1522
    functionDepth: 6
    functionLinenumber: 1522
    functionLinenumberEnd: 1532
    functionName: _do_rmdir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::rmdir
    linkageType: ''
    returnType: void
    signature: "void _do_rmdir(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_rmdir
      Src: /src/libfuse/lib/fuse_lowlevel.c:1536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1534
    functionDepth: 7
    functionLinenumber: 1534
    functionLinenumberEnd: 1537
    functionName: do_rmdir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_rmdir
    linkageType: ''
    returnType: void
    signature: void do_rmdir(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_lowlevel.c:1544,1
    - Dst: fuse_req_t::se::op::symlink
      Src: /src/libfuse/lib/fuse_lowlevel.c:1547,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1539
    functionDepth: 6
    functionLinenumber: 1539
    functionLinenumberEnd: 1550
    functionName: _do_symlink
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_req_t::se::op::symlink
    - fuse_reply_err
    - strlen
    linkageType: ''
    returnType: void
    signature: "void _do_symlink(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_symlink
      Src: /src/libfuse/lib/fuse_lowlevel.c:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 7
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: do_symlink
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_symlink
    linkageType: ''
    returnType: void
    signature: "void do_symlink(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_lowlevel.c:1563,1
    - Dst: fuse_req_t::se::op::rename
      Src: /src/libfuse/lib/fuse_lowlevel.c:1566,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1558
    functionDepth: 6
    functionLinenumber: 1558
    functionLinenumberEnd: 1570
    functionName: _do_rename
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::rename
    - strlen
    linkageType: ''
    returnType: void
    signature: "void _do_rename(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:1576,1
    - Dst: _do_rename
      Src: /src/libfuse/lib/fuse_lowlevel.c:1578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1572
    functionDepth: 7
    functionLinenumber: 1572
    functionLinenumberEnd: 1579
    functionName: do_rename
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_rename
    - PARAM
    linkageType: ''
    returnType: void
    signature: "void do_rename(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_lowlevel.c:1586,1
    - Dst: fuse_req_t::se::op::rename
      Src: /src/libfuse/lib/fuse_lowlevel.c:1589,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1581
    functionDepth: 6
    functionLinenumber: 1581
    functionLinenumberEnd: 1593
    functionName: _do_rename2
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::rename
    - strlen
    linkageType: ''
    returnType: void
    signature: "void _do_rename2(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:1599,1
    - Dst: _do_rename2
      Src: /src/libfuse/lib/fuse_lowlevel.c:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1595
    functionDepth: 7
    functionLinenumber: 1595
    functionLinenumberEnd: 1602
    functionName: do_rename2
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - PARAM
    - _do_rename2
    linkageType: ''
    returnType: void
    signature: "void do_rename2(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *inarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1613,1
    - Dst: fuse_req_t::se::op::tmpfile
      Src: /src/libfuse/lib/fuse_lowlevel.c:1619,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1604
    functionDepth: 6
    functionLinenumber: 1604
    functionLinenumberEnd: 1622
    functionName: _do_tmpfile
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::tmpfile
    linkageType: ''
    returnType: void
    signature: "void _do_tmpfile(fuse_req_t req, fuse_ino_t nodeid, const void *op_in,\n\t\t\tconst
      void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_tmpfile
      Src: /src/libfuse/lib/fuse_lowlevel.c:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1624
    functionDepth: 7
    functionLinenumber: 1624
    functionLinenumberEnd: 1629
    functionName: do_tmpfile
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_tmpfile
    linkageType: ''
    returnType: void
    signature: void do_tmpfile(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::link
      Src: /src/libfuse/lib/fuse_lowlevel.c:1637,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1631
    functionDepth: 6
    functionLinenumber: 1631
    functionLinenumberEnd: 1640
    functionName: _do_link
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::link
    linkageType: ''
    returnType: void
    signature: "void _do_link(fuse_req_t req, const fuse_ino_t nodeid, const void
      *op_in,\n\t\t     const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:1645,1
    - Dst: _do_link
      Src: /src/libfuse/lib/fuse_lowlevel.c:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1642
    functionDepth: 7
    functionLinenumber: 1642
    functionLinenumberEnd: 1648
    functionName: do_link
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_link
    - PARAM
    linkageType: ''
    returnType: void
    signature: void do_link(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1659,1
    - Dst: fuse_req_t::se::op::create
      Src: /src/libfuse/lib/fuse_lowlevel.c:1667,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1650
    functionDepth: 6
    functionLinenumber: 1650
    functionLinenumberEnd: 1671
    functionName: _do_create
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::create
    linkageType: ''
    returnType: void
    signature: "void _do_create(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *op_in, const void *in_payload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:1677,1
    - Dst: _do_create
      Src: /src/libfuse/lib/fuse_lowlevel.c:1682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1673
    functionDepth: 7
    functionLinenumber: 1673
    functionLinenumberEnd: 1683
    functionName: do_create
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - PARAM
    - _do_create
    linkageType: ''
    returnType: void
    signature: "void do_create(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *inarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1692,1
    - Dst: fuse_req_t::se::op::open
      Src: /src/libfuse/lib/fuse_lowlevel.c:1698,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1700,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/lib/fuse_lowlevel.c:1702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1685
    functionDepth: 7
    functionLinenumber: 1685
    functionLinenumberEnd: 1703
    functionName: _do_open
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_reply_open
    - fuse_req_t::se::op::open
    linkageType: ''
    returnType: void
    signature: "void _do_open(fuse_req_t req, const fuse_ino_t nodeid, const void
      *op_in,\n\t\t     const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_open
      Src: /src/libfuse/lib/fuse_lowlevel.c:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1705
    functionDepth: 8
    functionLinenumber: 1705
    functionLinenumberEnd: 1708
    functionName: do_open
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_open
    linkageType: ''
    returnType: void
    signature: void do_open(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1719,1
    - Dst: fuse_req_t::se::op::read
      Src: /src/libfuse/lib/fuse_lowlevel.c:1725,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1710
    functionDepth: 6
    functionLinenumber: 1710
    functionLinenumberEnd: 1728
    functionName: _do_read
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::read
    linkageType: ''
    returnType: void
    signature: "void _do_read(fuse_req_t req, const fuse_ino_t nodeid, const void
      *op_in,\n\t\t     const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_read
      Src: /src/libfuse/lib/fuse_lowlevel.c:1732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1730
    functionDepth: 7
    functionLinenumber: 1730
    functionLinenumberEnd: 1733
    functionName: do_read
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_read
    linkageType: ''
    returnType: void
    signature: void do_read(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1742,1
    - Dst: fuse_req_t::se::op::write
      Src: /src/libfuse/lib/fuse_lowlevel.c:1752,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1735
    functionDepth: 6
    functionLinenumber: 1735
    functionLinenumberEnd: 1756
    functionName: _do_write
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_req_t::se::op::write
    - memset
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void _do_write(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:1766,1
    - Dst: _do_write
      Src: /src/libfuse/lib/fuse_lowlevel.c:1768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1758
    functionDepth: 7
    functionLinenumber: 1758
    functionLinenumberEnd: 1769
    functionName: do_write
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_write
    - PARAM
    linkageType: ''
    returnType: void
    signature: void do_write(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1778,1
    - Dst: struct fuse_session*::op::write_buf
      Src: /src/libfuse/lib/fuse_lowlevel.c:1787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - bufv
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - struct fuse_bufvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1788
    functionName: _do_write_buf
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - struct fuse_session*::op::write_buf
    linkageType: ''
    returnType: void
    signature: "void _do_write_buf(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \ const void *op_in, struct fuse_bufvec *bufv)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/lib/fuse_lowlevel.c:1804,1
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:1807,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:1813,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1815,1
    - Dst: _do_write_buf
      Src: /src/libfuse/lib/fuse_lowlevel.c:1820,1
    - Dst: fuse_ll_clear_pipe
      Src: /src/libfuse/lib/fuse_lowlevel.c:1825,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - req
    - nodeid
    - inarg
    - ibuf
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - struct fuse_buf*
    assertStmts:
    - condition: (!(bufv.buf[0].flags & FUSE_BUF_IS_FD))
      pos:
        line_end: 1803
        line_start: 1803
        source_file: /src/libfuse/lib/fuse_lowlevel.c
    constantsTouched: []
    func_position:
      end: 1826
      start: 1790
    functionDepth: 6
    functionLinenumber: 1790
    functionLinenumberEnd: 1826
    functionName: do_write_buf
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - PARAM
    - assert
    - fuse_log
    - _do_write_buf
    - fuse_reply_err
    - fuse_ll_clear_pipe
    linkageType: ''
    returnType: void
    signature: "void do_write_buf(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      const void *inarg, const struct fuse_buf *ibuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1835,1
    - Dst: fuse_req_t::se::op::flush
      Src: /src/libfuse/lib/fuse_lowlevel.c:1842,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1828
    functionDepth: 6
    functionLinenumber: 1828
    functionLinenumberEnd: 1845
    functionName: _do_flush
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::flush
    linkageType: ''
    returnType: void
    signature: "void _do_flush(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_flush
      Src: /src/libfuse/lib/fuse_lowlevel.c:1849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1847
    functionDepth: 7
    functionLinenumber: 1847
    functionLinenumberEnd: 1850
    functionName: do_flush
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_flush
    linkageType: ''
    returnType: void
    signature: void do_flush(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1859,1
    - Dst: fuse_req_t::se::op::release
      Src: /src/libfuse/lib/fuse_lowlevel.c:1872,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1852
    functionDepth: 6
    functionLinenumber: 1852
    functionLinenumberEnd: 1875
    functionName: _do_release
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::release
    linkageType: ''
    returnType: void
    signature: "void _do_release(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_release
      Src: /src/libfuse/lib/fuse_lowlevel.c:1880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1877
    functionDepth: 7
    functionLinenumber: 1877
    functionLinenumberEnd: 1881
    functionName: do_release
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_release
    linkageType: ''
    returnType: void
    signature: "void do_release(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1891,1
    - Dst: fuse_req_t::se::op::fsync
      Src: /src/libfuse/lib/fuse_lowlevel.c:1895,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1883
    functionDepth: 6
    functionLinenumber: 1883
    functionLinenumberEnd: 1898
    functionName: _do_fsync
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::fsync
    linkageType: ''
    returnType: void
    signature: "void _do_fsync(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_fsync
      Src: /src/libfuse/lib/fuse_lowlevel.c:1902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1900
    functionDepth: 7
    functionLinenumber: 1900
    functionLinenumberEnd: 1903
    functionName: do_fsync
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_fsync
    linkageType: ''
    returnType: void
    signature: void do_fsync(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1912,1
    - Dst: fuse_req_t::se::op::opendir
      Src: /src/libfuse/lib/fuse_lowlevel.c:1917,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1919,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/lib/fuse_lowlevel.c:1921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1905
    functionDepth: 7
    functionLinenumber: 1905
    functionLinenumberEnd: 1922
    functionName: _do_opendir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_reply_open
    - fuse_req_t::se::op::opendir
    linkageType: ''
    returnType: void
    signature: "void _do_opendir(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_opendir
      Src: /src/libfuse/lib/fuse_lowlevel.c:1927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1924
    functionDepth: 8
    functionLinenumber: 1924
    functionLinenumberEnd: 1928
    functionName: do_opendir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_opendir
    linkageType: ''
    returnType: void
    signature: "void do_opendir(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1937,1
    - Dst: fuse_req_t::se::op::readdir
      Src: /src/libfuse/lib/fuse_lowlevel.c:1941,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1930
    functionDepth: 6
    functionLinenumber: 1930
    functionLinenumberEnd: 1944
    functionName: _do_readdir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::readdir
    linkageType: ''
    returnType: void
    signature: "void _do_readdir(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_readdir
      Src: /src/libfuse/lib/fuse_lowlevel.c:1949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1946
    functionDepth: 7
    functionLinenumber: 1946
    functionLinenumberEnd: 1950
    functionName: do_readdir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_readdir
    linkageType: ''
    returnType: void
    signature: "void do_readdir(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1959,1
    - Dst: fuse_req_t::se::op::readdirplus
      Src: /src/libfuse/lib/fuse_lowlevel.c:1963,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1952
    functionDepth: 6
    functionLinenumber: 1952
    functionLinenumberEnd: 1966
    functionName: _do_readdirplus
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::readdirplus
    linkageType: ''
    returnType: void
    signature: "void _do_readdirplus(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \   const void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_readdirplus
      Src: /src/libfuse/lib/fuse_lowlevel.c:1971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1968
    functionDepth: 7
    functionLinenumber: 1968
    functionLinenumberEnd: 1972
    functionName: do_readdirplus
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_readdirplus
    linkageType: ''
    returnType: void
    signature: "void do_readdirplus(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \  const void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:1981,1
    - Dst: fuse_req_t::se::op::releasedir
      Src: /src/libfuse/lib/fuse_lowlevel.c:1986,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:1988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1974
    functionDepth: 6
    functionLinenumber: 1974
    functionLinenumberEnd: 1989
    functionName: _do_releasedir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::releasedir
    linkageType: ''
    returnType: void
    signature: "void _do_releasedir(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \  const void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_releasedir
      Src: /src/libfuse/lib/fuse_lowlevel.c:1994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1991
    functionDepth: 7
    functionLinenumber: 1991
    functionLinenumberEnd: 1995
    functionName: do_releasedir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_releasedir
    linkageType: ''
    returnType: void
    signature: "void do_releasedir(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \ const void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2005,1
    - Dst: fuse_req_t::se::op::fsyncdir
      Src: /src/libfuse/lib/fuse_lowlevel.c:2009,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1997
    functionDepth: 6
    functionLinenumber: 1997
    functionLinenumberEnd: 2012
    functionName: _do_fsyncdir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::fsyncdir
    linkageType: ''
    returnType: void
    signature: "void _do_fsyncdir(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      const void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_fsyncdir
      Src: /src/libfuse/lib/fuse_lowlevel.c:2016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2013
    functionDepth: 7
    functionLinenumber: 2013
    functionLinenumberEnd: 2017
    functionName: do_fsyncdir
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_fsyncdir
    linkageType: ''
    returnType: void
    signature: "void do_fsyncdir(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::statfs
      Src: /src/libfuse/lib/fuse_lowlevel.c:2027,1
    - Dst: fuse_reply_statfs
      Src: /src/libfuse/lib/fuse_lowlevel.c:2033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2019
    functionDepth: 7
    functionLinenumber: 2019
    functionLinenumberEnd: 2035
    functionName: _do_statfs
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_statfs
    - fuse_req_t::se::op::statfs
    linkageType: ''
    returnType: void
    signature: "void _do_statfs(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_statfs
      Src: /src/libfuse/lib/fuse_lowlevel.c:2039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2036
    functionDepth: 8
    functionLinenumber: 2036
    functionLinenumberEnd: 2040
    functionName: do_statfs
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_statfs
    linkageType: ''
    returnType: void
    signature: "void do_statfs(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_lowlevel.c:2047,1
    - Dst: fuse_req_t::se::op::setxattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:2052,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2042
    functionDepth: 6
    functionLinenumber: 2042
    functionLinenumberEnd: 2056
    functionName: _do_setxattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - strlen
    - fuse_req_t::se::op::setxattr
    linkageType: ''
    returnType: void
    signature: "void _do_setxattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      const void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:2063,1
    - Dst: _do_setxattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:2066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2057
    functionDepth: 7
    functionLinenumber: 2057
    functionLinenumberEnd: 2067
    functionName: do_setxattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - PARAM
    - _do_setxattr
    linkageType: ''
    returnType: void
    signature: "void do_setxattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::getxattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:2075,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2069
    functionDepth: 6
    functionLinenumber: 2069
    functionLinenumberEnd: 2078
    functionName: _do_getxattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::getxattr
    linkageType: ''
    returnType: void
    signature: "void _do_getxattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      const void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:2084,1
    - Dst: _do_getxattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:2086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2087
      start: 2080
    functionDepth: 7
    functionLinenumber: 2080
    functionLinenumberEnd: 2087
    functionName: do_getxattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_getxattr
    - PARAM
    linkageType: ''
    returnType: void
    signature: "void do_getxattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::listxattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:2096,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - req
    - nodeid
    - inarg
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2089
    functionDepth: 6
    functionLinenumber: 2089
    functionLinenumberEnd: 2099
    functionName: _do_listxattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::listxattr
    linkageType: ''
    returnType: void
    signature: "void _do_listxattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \ const void *inarg, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_listxattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:2103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2100
    functionDepth: 7
    functionLinenumber: 2100
    functionLinenumberEnd: 2104
    functionName: do_listxattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_listxattr
    linkageType: ''
    returnType: void
    signature: "void do_listxattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      const void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::removexattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:2113,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - req
    - nodeid
    - inarg
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2106
    functionDepth: 6
    functionLinenumber: 2106
    functionLinenumberEnd: 2116
    functionName: _do_removexattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::removexattr
    linkageType: ''
    returnType: void
    signature: "void _do_removexattr(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \   const void *inarg, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_removexattr
      Src: /src/libfuse/lib/fuse_lowlevel.c:2119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2117
    functionDepth: 7
    functionLinenumber: 2117
    functionLinenumberEnd: 2120
    functionName: do_removexattr
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_removexattr
    linkageType: ''
    returnType: void
    signature: void do_removexattr(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fl
    - flock
    argTypes:
    - struct fuse_file_lock*
    - struct flock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2134
    functionName: convert_fuse_file_lock
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void convert_fuse_file_lock(const struct fuse_file_lock *fl,\n\t\t\t\t
      \  struct flock *flock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2144,1
    - Dst: convert_fuse_file_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2148,1
    - Dst: fuse_req_t::se::op::getlk
      Src: /src/libfuse/lib/fuse_lowlevel.c:2150,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2136
    functionDepth: 6
    functionLinenumber: 2136
    functionLinenumberEnd: 2153
    functionName: _do_getlk
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - convert_fuse_file_lock
    - fuse_req_t::se::op::getlk
    linkageType: ''
    returnType: void
    signature: "void _do_getlk(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_getlk
      Src: /src/libfuse/lib/fuse_lowlevel.c:2156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2154
    functionDepth: 7
    functionLinenumber: 2154
    functionLinenumberEnd: 2157
    functionName: do_getlk
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_getlk
    linkageType: ''
    returnType: void
    signature: void do_getlk(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2166,1
    - Dst: fuse_req_t::se::op::flock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2188,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2190,1
    - Dst: convert_fuse_file_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2192,1
    - Dst: fuse_req_t::se::op::setlk
      Src: /src/libfuse/lib/fuse_lowlevel.c:2194,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - sleep
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2159
    functionDepth: 6
    functionLinenumber: 2159
    functionLinenumberEnd: 2198
    functionName: do_setlk_common
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_req_t::se::op::setlk
    - fuse_req_t::se::op::flock
    - convert_fuse_file_lock
    - memset
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void do_setlk_common(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \   const void *op_in, int sleep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_setlk_common
      Src: /src/libfuse/lib/fuse_lowlevel.c:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2200
    functionDepth: 7
    functionLinenumber: 2200
    functionLinenumberEnd: 2205
    functionName: _do_setlk
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - do_setlk_common
    linkageType: ''
    returnType: void
    signature: "void _do_setlk(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_setlk
      Src: /src/libfuse/lib/fuse_lowlevel.c:2209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2207
    functionDepth: 8
    functionLinenumber: 2207
    functionLinenumberEnd: 2210
    functionName: do_setlk
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_setlk
    linkageType: ''
    returnType: void
    signature: void do_setlk(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_setlk_common
      Src: /src/libfuse/lib/fuse_lowlevel.c:2216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2212
    functionDepth: 7
    functionLinenumber: 2212
    functionLinenumberEnd: 2217
    functionName: _do_setlkw
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - do_setlk_common
    linkageType: ''
    returnType: void
    signature: "void _do_setlkw(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t       const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_setlkw
      Src: /src/libfuse/lib/fuse_lowlevel.c:2220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2218
    functionDepth: 8
    functionLinenumber: 2218
    functionLinenumberEnd: 2221
    functionName: do_setlkw
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_setlkw
    linkageType: ''
    returnType: void
    signature: void do_setlkw(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2233,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2236,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2237,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2241,1
    - Dst: func
      Src: /src/libfuse/lib/fuse_lowlevel.c:2243,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2244,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2246,1
    - Dst: destroy_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:2249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - se
    - req
    argTypes:
    - struct fuse_session*
    - struct fuse_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2223
    functionDepth: 2
    functionLinenumber: 2223
    functionLinenumberEnd: 2261
    functionName: find_interrupted
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - func
    - pthread_mutex_unlock
    - destroy_req
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int find_interrupted(struct fuse_session *se, struct fuse_req *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2272,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2277,1
    - Dst: find_interrupted
      Src: /src/libfuse/lib/fuse_lowlevel.c:2278,1
    - Dst: fuse_chan_put
      Src: /src/libfuse/lib/fuse_lowlevel.c:2279,1
    - Dst: destroy_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:2281,1
    - Dst: list_add_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:2283,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:2284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2263
    functionDepth: 3
    functionLinenumber: 2263
    functionLinenumberEnd: 2285
    functionName: _do_interrupt
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - find_interrupted
    - fuse_chan_put
    - pthread_mutex_unlock
    - list_add_req
    - fuse_log
    - destroy_req
    linkageType: ''
    returnType: void
    signature: "void _do_interrupt(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \ const void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_interrupt
      Src: /src/libfuse/lib/fuse_lowlevel.c:2288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2286
    functionDepth: 4
    functionLinenumber: 2286
    functionLinenumberEnd: 2289
    functionName: do_interrupt
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_interrupt
    linkageType: ''
    returnType: void
    signature: void do_interrupt(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_del_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:2300,1
    - Dst: fuse_chan_put
      Src: /src/libfuse/lib/fuse_lowlevel.c:2301,1
    - Dst: destroy_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:2303,1
    - Dst: list_del_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:2309,1
    - Dst: list_init_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:2310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - se
    - req
    argTypes:
    - struct fuse_session*
    - struct fuse_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2291
    functionDepth: 2
    functionLinenumber: 2291
    functionLinenumberEnd: 2314
    functionName: check_interrupt
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - destroy_req
    - fuse_chan_put
    - list_init_req
    - list_del_req
    linkageType: ''
    returnType: struct fuse_req
    signature: "struct fuse_req *check_interrupt(struct fuse_session *se,\n\t\t\t\t\tstruct
      fuse_req *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_t::se::op::bmap
      Src: /src/libfuse/lib/fuse_lowlevel.c:2323,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2316
    functionDepth: 6
    functionLinenumber: 2316
    functionLinenumberEnd: 2326
    functionName: _do_bmap
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::bmap
    linkageType: ''
    returnType: void
    signature: "void _do_bmap(fuse_req_t req, const fuse_ino_t nodeid, const void
      *op_in,\n\t\t     const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_bmap
      Src: /src/libfuse/lib/fuse_lowlevel.c:2329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2327
    functionDepth: 7
    functionLinenumber: 2327
    functionLinenumberEnd: 2330
    functionName: do_bmap
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_bmap
    linkageType: ''
    returnType: void
    signature: void do_bmap(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2342,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2346,1
    - Dst: fuse_req_t::se::op::ioctl
      Src: /src/libfuse/lib/fuse_lowlevel.c:2355,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2332
    functionDepth: 6
    functionLinenumber: 2332
    functionLinenumberEnd: 2360
    functionName: _do_ioctl
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_req_t::se::op::ioctl
    - memset
    linkageType: ''
    returnType: void
    signature: "void _do_ioctl(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:2364,1
    - Dst: _do_ioctl
      Src: /src/libfuse/lib/fuse_lowlevel.c:2366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2361
    functionDepth: 7
    functionLinenumber: 2361
    functionLinenumberEnd: 2367
    functionName: do_ioctl
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_ioctl
    - PARAM
    linkageType: ''
    returnType: void
    signature: void do_ioctl(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ph
    argTypes:
    - struct fuse_pollhandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2372
    functionName: fuse_pollhandle_destroy
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fuse_pollhandle_destroy(struct fuse_pollhandle *ph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2381,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:2389,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2391,1
    - Dst: fuse_req_t::se::op::poll
      Src: /src/libfuse/lib/fuse_lowlevel.c:2398,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2374
    functionDepth: 6
    functionLinenumber: 2374
    functionLinenumberEnd: 2402
    functionName: _do_poll
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - malloc
    - memset
    - fuse_req_t::se::op::poll
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void _do_poll(fuse_req_t req, const fuse_ino_t nodeid, const void
      *op_in,\n\t\t     const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_poll
      Src: /src/libfuse/lib/fuse_lowlevel.c:2406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2404
    functionDepth: 7
    functionLinenumber: 2404
    functionLinenumberEnd: 2407
    functionName: do_poll
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_poll
    linkageType: ''
    returnType: void
    signature: void do_poll(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2416,1
    - Dst: fuse_req_t::se::op::fallocate
      Src: /src/libfuse/lib/fuse_lowlevel.c:2420,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2409
    functionDepth: 6
    functionLinenumber: 2409
    functionLinenumberEnd: 2424
    functionName: _do_fallocate
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::fallocate
    linkageType: ''
    returnType: void
    signature: "void _do_fallocate(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      \ const void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_fallocate
      Src: /src/libfuse/lib/fuse_lowlevel.c:2429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2426
    functionDepth: 7
    functionLinenumber: 2426
    functionLinenumberEnd: 2430
    functionName: do_fallocate
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_fallocate
    linkageType: ''
    returnType: void
    signature: "void do_fallocate(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      const void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2437,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2440,1
    - Dst: fuse_req_t::se::op::copy_file_range
      Src: /src/libfuse/lib/fuse_lowlevel.c:2444,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - req
    - nodeid_in
    - arg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_copy_file_range_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2432
    functionDepth: 6
    functionLinenumber: 2432
    functionLinenumberEnd: 2449
    functionName: copy_file_range_common
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::copy_file_range
    linkageType: ''
    returnType: void
    signature: "void copy_file_range_common(fuse_req_t req, const fuse_ino_t nodeid_in,\n\t\t\t\t
      \  const struct fuse_copy_file_range_in *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copy_file_range_common
      Src: /src/libfuse/lib/fuse_lowlevel.c:2464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - req
    - nodeid_in
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2451
    functionDepth: 7
    functionLinenumber: 2451
    functionLinenumberEnd: 2465
    functionName: _do_copy_file_range
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - copy_file_range_common
    linkageType: ''
    returnType: void
    signature: "void _do_copy_file_range(fuse_req_t req, const fuse_ino_t nodeid_in,\n\t\t\t\tconst
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_copy_file_range
      Src: /src/libfuse/lib/fuse_lowlevel.c:2470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid_in
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2467
    functionDepth: 8
    functionLinenumber: 2467
    functionLinenumberEnd: 2471
    functionName: do_copy_file_range
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_copy_file_range
    linkageType: ''
    returnType: void
    signature: "void do_copy_file_range(fuse_req_t req, const fuse_ino_t nodeid_in,\n\t\t\t
      \      const void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _do_copy_file_range
      Src: /src/libfuse/lib/fuse_lowlevel.c:2480,1
    - Dst: copy_file_range_common
      Src: /src/libfuse/lib/fuse_lowlevel.c:2482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - req
    - nodeid_in
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2473
    functionDepth: 8
    functionLinenumber: 2473
    functionLinenumberEnd: 2483
    functionName: _do_copy_file_range_64
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - _do_copy_file_range
    - copy_file_range_common
    linkageType: ''
    returnType: void
    signature: "void _do_copy_file_range_64(fuse_req_t req, const fuse_ino_t nodeid_in,\n\t\t\t\t
      \  const void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_copy_file_range_64
      Src: /src/libfuse/lib/fuse_lowlevel.c:2488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid_in
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2485
    functionDepth: 9
    functionLinenumber: 2485
    functionLinenumberEnd: 2489
    functionName: do_copy_file_range_64
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_copy_file_range_64
    linkageType: ''
    returnType: void
    signature: "void do_copy_file_range_64(fuse_req_t req, const fuse_ino_t nodeid_in,\n\t\t\t
      \      const void *inarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2502,1
    - Dst: fuse_req_t::se::op::lseek
      Src: /src/libfuse/lib/fuse_lowlevel.c:2506,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2495
    functionDepth: 6
    functionLinenumber: 2495
    functionLinenumberEnd: 2509
    functionName: _do_lseek
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_req_t::se::op::lseek
    - memset
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void _do_lseek(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_lseek
      Src: /src/libfuse/lib/fuse_lowlevel.c:2513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2511
    functionDepth: 7
    functionLinenumber: 2511
    functionLinenumberEnd: 2514
    functionName: do_lseek
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_lseek
    linkageType: ''
    returnType: void
    signature: void do_lseek(fuse_req_t req, const fuse_ino_t nodeid, const void *inarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2526,1
    - Dst: fuse_req_t::se::op::statx
      Src: /src/libfuse/lib/fuse_lowlevel.c:2532,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2517
    functionDepth: 6
    functionLinenumber: 2517
    functionLinenumberEnd: 2535
    functionName: _do_statx
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_req_t::se::op::statx
    linkageType: ''
    returnType: void
    signature: "void _do_statx(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2544
    functionName: _do_statx
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _do_statx(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t      const
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_statx
      Src: /src/libfuse/lib/fuse_lowlevel.c:2549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2547
    functionDepth: 7
    functionLinenumber: 2547
    functionLinenumberEnd: 2550
    functionName: do_statx
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_statx
    linkageType: ''
    returnType: void
    signature: void do_statx(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - capable
    - want
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2552
    functionDepth: 1
    functionLinenumber: 2552
    functionLinenumberEnd: 2562
    functionName: want_flags_valid
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_log
    linkageType: ''
    returnType: bool
    signature: bool want_flags_valid(uint64_t capable, uint64_t want)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libfuse/lib/fuse_lowlevel.c:2569,1
    - Dst: fuse_lower_32_bits
      Src: /src/libfuse/lib/fuse_lowlevel.c:2581,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2583,1
    - Dst: fuse_higher_32_bits
      Src: /src/libfuse/lib/fuse_lowlevel.c:2594,1
    - Dst: fuse_lower_32_bits
      Src: /src/libfuse/lib/fuse_lowlevel.c:2599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2567
    functionDepth: 1
    functionLinenumber: 2567
    functionLinenumberEnd: 2602
    functionName: fuse_convert_to_conn_want_ext
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 3
    functionsReached:
    - fuse_lower_32_bits
    - fuse_higher_32_bits
    - fuse_log
    - container_of
    linkageType: ''
    returnType: int
    signature: int fuse_convert_to_conn_want_ext(struct fuse_conn_info *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libfuse/lib/fuse_lowlevel.c:2607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - flag
    argTypes:
    - struct fuse_conn_info*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2604
    functionDepth: 1
    functionLinenumber: 2604
    functionLinenumberEnd: 2617
    functionName: fuse_set_feature_flag
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 5
    functionsReached:
    - container_of
    linkageType: ''
    returnType: bool
    signature: "bool fuse_set_feature_flag(struct fuse_conn_info *conn,\n\t\t\t\t\t
      uint64_t flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libfuse/lib/fuse_lowlevel.c:2622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - flag
    argTypes:
    - struct fuse_conn_info*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2628
      start: 2619
    functionDepth: 1
    functionLinenumber: 2619
    functionLinenumberEnd: 2628
    functionName: fuse_unset_feature_flag
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - container_of
    linkageType: ''
    returnType: void
    signature: "void fuse_unset_feature_flag(struct fuse_conn_info *conn,\n\t\t\t\t\t
      uint64_t flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - flag
    argTypes:
    - struct fuse_conn_info*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2630
    functionDepth: 0
    functionLinenumber: 2630
    functionLinenumberEnd: 2634
    functionName: fuse_get_feature_flag
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool fuse_get_feature_flag(struct fuse_conn_info *conn,\n\t\t\t\t\t
      \    uint64_t flag)"
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: no_sanitize
      Src: /src/libfuse/lib/fuse_lowlevel.c:2638,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2655,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2657,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2658,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_lowlevel.c:2667,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2672,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2674,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:2680,1
    - Dst: getpagesize
      Src: /src/libfuse/lib/fuse_lowlevel.c:2732,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2781,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2782,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2783,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2784,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2785,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2786,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2787,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2789,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2790,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2791,1
    - Dst: LL_SET_DEFAULT
      Src: /src/libfuse/lib/fuse_lowlevel.c:2793,1
    - Dst: fuse_lower_32_bits
      Src: /src/libfuse/lib/fuse_lowlevel.c:2804,1
    - Dst: struct fuse_session*::op::init
      Src: /src/libfuse/lib/fuse_lowlevel.c:2806,1
    - Dst: fuse_convert_to_conn_want_ext
      Src: /src/libfuse/lib/fuse_lowlevel.c:2813,1
    - Dst: want_flags_valid
      Src: /src/libfuse/lib/fuse_lowlevel.c:2816,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2817,1
    - Dst: fuse_session_exit
      Src: /src/libfuse/lib/fuse_lowlevel.c:2819,1
    - Dst: get_max_read
      Src: /src/libfuse/lib/fuse_lowlevel.c:2823,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2825,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:2828,1
    - Dst: fuse_session_exit
      Src: /src/libfuse/lib/fuse_lowlevel.c:2830,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2835,1
    - Dst: MIN
      Src: /src/libfuse/lib/fuse_lowlevel.c:2843,1
    - Dst: getpagesize
      Src: /src/libfuse/lib/fuse_lowlevel.c:2848,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2939,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2940,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2941,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2943,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2944,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2946,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2948,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2951,1
    - Dst: fuse_uring_start
      Src: /src/libfuse/lib/fuse_lowlevel.c:2961,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:2964,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_lowlevel.c:2966,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:2979,1
    - Dst: fuse_uring_wake_ring_threads
      Src: /src/libfuse/lib/fuse_lowlevel.c:2981,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 243
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2982
      start: 2638
    functionDepth: 6
    functionLinenumber: 2638
    functionLinenumberEnd: 2982
    functionName: _do_init
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - send_reply_ok
    - fuse_uring_start
    - LL_SET_DEFAULT
    - fuse_lower_32_bits
    - strerror
    - fuse_uring_wake_ring_threads
    - memset
    - want_flags_valid
    - fuse_log
    - struct fuse_session*::op::init
    - getpagesize
    - fuse_convert_to_conn_want_ext
    - no_sanitize
    - fuse_reply_err
    - fuse_session_exit
    - get_max_read
    - MIN
    linkageType: ''
    returnType: void
    signature: "void _do_init(fuse_req_t req, const fuse_ino_t nodeid, const void
      *op_in,\n\t const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2780
    functionName: LL_SET_DEFAULT
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SET_DEFAULT(cond, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: no_sanitize
      Src: /src/libfuse/lib/fuse_lowlevel.c:2984,1
    - Dst: _do_init
      Src: /src/libfuse/lib/fuse_lowlevel.c:2987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2988
      start: 2984
    functionDepth: 7
    functionLinenumber: 2984
    functionLinenumberEnd: 2988
    functionName: do_init
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 2
    functionsReached:
    - no_sanitize
    - _do_init
    linkageType: ''
    returnType: void
    signature: void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_exchange
      Src: /src/libfuse/lib/fuse_lowlevel.c:3000,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:3001,1
    - Dst: struct fuse_session*::op::destroy
      Src: /src/libfuse/lib/fuse_lowlevel.c:3006,1
    - Dst: send_reply_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:3008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - in_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 2990
    functionDepth: 6
    functionLinenumber: 2990
    functionLinenumberEnd: 3009
    functionName: _do_destroy
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - free
    - struct fuse_session*::op::destroy
    - send_reply_ok
    - atomic_exchange
    linkageType: ''
    returnType: void
    signature: "void _do_destroy(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\tconst
      void *op_in, const void *in_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _do_destroy
      Src: /src/libfuse/lib/fuse_lowlevel.c:3013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3014
      start: 3011
    functionDepth: 7
    functionLinenumber: 3011
    functionLinenumberEnd: 3014
    functionName: do_destroy
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _do_destroy
    linkageType: ''
    returnType: void
    signature: void do_destroy(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nreq
    argTypes:
    - struct fuse_notify_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3016
    functionDepth: 0
    functionLinenumber: 3016
    functionLinenumberEnd: 3022
    functionName: list_del_nreq
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_del_nreq(struct fuse_notify_req *nreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - nreq
    - next
    argTypes:
    - struct fuse_notify_req*
    - struct fuse_notify_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3024
    functionDepth: 0
    functionLinenumber: 3024
    functionLinenumberEnd: 3032
    functionName: list_add_nreq
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void list_add_nreq(struct fuse_notify_req *nreq,\n\t\t\t  struct fuse_notify_req
      *next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nreq
    argTypes:
    - struct fuse_notify_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3034
    functionDepth: 0
    functionLinenumber: 3034
    functionLinenumberEnd: 3038
    functionName: list_init_nreq
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_init_nreq(struct fuse_notify_req *nreq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3047,1
    - Dst: list_del_nreq
      Src: /src/libfuse/lib/fuse_lowlevel.c:3051,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3055,1
    - Dst: struct fuse_notify_req*::reply
      Src: /src/libfuse/lib/fuse_lowlevel.c:3058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - req
    - nodeid
    - inarg
    - buf
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - struct fuse_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3040
    functionDepth: 1
    functionLinenumber: 3040
    functionLinenumberEnd: 3059
    functionName: do_notify_reply
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - struct fuse_notify_req*::reply
    - list_del_nreq
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void do_notify_reply(fuse_req_t req, fuse_ino_t nodeid,\n\t\t\t    const
      void *inarg, const struct fuse_buf *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_send_msg
      Src: /src/libfuse/lib/fuse_lowlevel.c:3075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - se
    - notify_code
    - iov
    - count
    argTypes:
    - struct fuse_session*
    - int
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3061
    functionDepth: 3
    functionLinenumber: 3061
    functionLinenumberEnd: 3076
    functionName: send_notify_iov
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_send_msg
    linkageType: ''
    returnType: int
    signature: "int send_notify_iov(struct fuse_session *se, int notify_code,\n\t\t\t
      \  struct iovec *iov, int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_notify_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:3089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ph
    argTypes:
    - struct fuse_pollhandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3093
      start: 3078
    functionDepth: 4
    functionLinenumber: 3078
    functionLinenumberEnd: 3093
    functionName: fuse_lowlevel_notify_poll
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - send_notify_iov
    linkageType: ''
    returnType: int
    signature: int fuse_lowlevel_notify_poll(struct fuse_pollhandle *ph)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send_notify_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:3114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - se
    - ino
    - 'off'
    - len
    argTypes:
    - struct fuse_session*
    - fuse_ino_t
    - off_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3095
    functionDepth: 4
    functionLinenumber: 3095
    functionLinenumberEnd: 3115
    functionName: fuse_lowlevel_notify_inval_inode
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - send_notify_iov
    linkageType: ''
    returnType: int
    signature: "int fuse_lowlevel_notify_inval_inode(struct fuse_session *se, fuse_ino_t
      ino,\n\t\t\t\t     off_t off, off_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send_notify_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:3127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3117
    functionDepth: 4
    functionLinenumber: 3117
    functionLinenumberEnd: 3128
    functionName: fuse_lowlevel_notify_increment_epoch
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - send_notify_iov
    linkageType: ''
    returnType: int
    signature: int fuse_lowlevel_notify_increment_epoch(struct fuse_session *se)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send_notify_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:3173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - se
    - parent
    - name
    - namelen
    - flags
    argTypes:
    - struct fuse_session*
    - fuse_ino_t
    - char*
    - size_t
    - enum fuse_notify_entry_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3174
      start: 3149
    functionDepth: 4
    functionLinenumber: 3149
    functionLinenumberEnd: 3174
    functionName: fuse_lowlevel_notify_entry
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - send_notify_iov
    linkageType: ''
    returnType: int
    signature: "int fuse_lowlevel_notify_entry(struct fuse_session *se, fuse_ino_t
      parent,\n\t\t\t\t\t\t\tconst char *name, size_t namelen,\n\t\t\t\t\t\t\tenum
      fuse_notify_entry_flags flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_lowlevel_notify_entry
      Src: /src/libfuse/lib/fuse_lowlevel.c:3179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - se
    - parent
    - name
    - namelen
    argTypes:
    - struct fuse_session*
    - fuse_ino_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3180
      start: 3176
    functionDepth: 5
    functionLinenumber: 3176
    functionLinenumberEnd: 3180
    functionName: fuse_lowlevel_notify_inval_entry
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_lowlevel_notify_entry
    linkageType: ''
    returnType: int
    signature: "int fuse_lowlevel_notify_inval_entry(struct fuse_session *se, fuse_ino_t
      parent,\n\t\t\t\t\t\t const char *name, size_t namelen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_lowlevel_notify_entry
      Src: /src/libfuse/lib/fuse_lowlevel.c:3191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - se
    - parent
    - name
    - namelen
    argTypes:
    - struct fuse_session*
    - fuse_ino_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3182
    functionDepth: 5
    functionLinenumber: 3182
    functionLinenumberEnd: 3192
    functionName: fuse_lowlevel_notify_expire_entry
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_lowlevel_notify_entry
    linkageType: ''
    returnType: int
    signature: "int fuse_lowlevel_notify_expire_entry(struct fuse_session *se, fuse_ino_t
      parent,\n\t\t\t\t\t\t\tconst char *name, size_t namelen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send_notify_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:3218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - se
    - parent
    - child
    - name
    - namelen
    argTypes:
    - struct fuse_session*
    - fuse_ino_t
    - fuse_ino_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3195
    functionDepth: 4
    functionLinenumber: 3195
    functionLinenumberEnd: 3219
    functionName: fuse_lowlevel_notify_delete
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - send_notify_iov
    linkageType: ''
    returnType: int
    signature: "int fuse_lowlevel_notify_delete(struct fuse_session *se,\n\t\t\t\tfuse_ino_t
      parent, fuse_ino_t child,\n\t\t\t\tconst char *name, size_t namelen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_buf_size
      Src: /src/libfuse/lib/fuse_lowlevel.c:3228,1
    - Dst: fuse_send_data_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:3251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - se
    - ino
    - offset
    - bufv
    - flags
    argTypes:
    - struct fuse_session*
    - fuse_ino_t
    - off_t
    - struct fuse_bufvec*
    - enum fuse_buf_copy_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3221
    functionDepth: 5
    functionLinenumber: 3221
    functionLinenumberEnd: 3256
    functionName: fuse_lowlevel_notify_store
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_buf_size
    - fuse_send_data_iov
    linkageType: ''
    returnType: int
    signature: "int fuse_lowlevel_notify_store(struct fuse_session *se, fuse_ino_t
      ino,\n\t\t\t       off_t offset, struct fuse_bufvec *bufv,\n\t\t\t       enum
      fuse_buf_copy_flags flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libfuse/lib/fuse_lowlevel.c:3270,1
    - Dst: PARAM
      Src: /src/libfuse/lib/fuse_lowlevel.c:3278,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:3284,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/lib/fuse_lowlevel.c:3285,1
    - Dst: struct fuse_session*::op::retrieve_reply
      Src: /src/libfuse/lib/fuse_lowlevel.c:3291,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/lib/fuse_lowlevel.c:3294,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:3297,1
    - Dst: fuse_ll_clear_pipe
      Src: /src/libfuse/lib/fuse_lowlevel.c:3299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - nreq
    - req
    - ino
    - inarg
    - ibuf
    argTypes:
    - struct fuse_notify_req*
    - fuse_req_t
    - fuse_ino_t
    - void*
    - struct fuse_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3300
      start: 3263
    functionDepth: 4
    functionLinenumber: 3263
    functionLinenumberEnd: 3300
    functionName: fuse_ll_retrieve_reply
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - PARAM
    - struct fuse_session*::op::retrieve_reply
    - container_of
    - fuse_reply_none
    - fuse_log
    - free
    - fuse_ll_clear_pipe
    linkageType: ''
    returnType: void
    signature: "void fuse_ll_retrieve_reply(struct fuse_notify_req *nreq,\n\t\t\t\t
      \  fuse_req_t req, fuse_ino_t ino,\n\t\t\t\t   const void *inarg,\n\t\t\t\t
      \  const struct fuse_buf *ibuf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:3316,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3320,1
    - Dst: list_add_nreq
      Src: /src/libfuse/lib/fuse_lowlevel.c:3324,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3325,1
    - Dst: send_notify_iov
      Src: /src/libfuse/lib/fuse_lowlevel.c:3336,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3338,1
    - Dst: list_del_nreq
      Src: /src/libfuse/lib/fuse_lowlevel.c:3339,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3340,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:3341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - se
    - ino
    - size
    - offset
    - cookie
    argTypes:
    - struct fuse_session*
    - fuse_ino_t
    - size_t
    - off_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3302
    functionDepth: 4
    functionLinenumber: 3302
    functionLinenumberEnd: 3345
    functionName: fuse_lowlevel_notify_retrieve
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - malloc
    - send_notify_iov
    - pthread_mutex_lock
    - list_del_nreq
    - pthread_mutex_unlock
    - free
    - list_add_nreq
    linkageType: ''
    returnType: int
    signature: "int fuse_lowlevel_notify_retrieve(struct fuse_session *se, fuse_ino_t
      ino,\n\t\t\t\t  size_t size, off_t offset, void *cookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3347
    functionDepth: 0
    functionLinenumber: 3347
    functionLinenumberEnd: 3350
    functionName: fuse_req_userdata
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *fuse_req_userdata(fuse_req_t req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3352
    functionDepth: 0
    functionLinenumber: 3352
    functionLinenumberEnd: 3355
    functionName: fuse_req_ctx
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct fuse_ctx
    signature: struct fuse_ctx *fuse_req_ctx(fuse_req_t req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3360,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3361,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3364,1
    - Dst: func
      Src: /src/libfuse/lib/fuse_lowlevel.c:3366,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - req
    - func
    - data
    argTypes:
    - fuse_req_t
    - fuse_interrupt_func_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3368
      start: 3357
    functionDepth: 0
    functionLinenumber: 3357
    functionLinenumberEnd: 3368
    functionName: fuse_req_interrupt_func
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - func
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void fuse_req_interrupt_func(fuse_req_t req, fuse_interrupt_func_t
      func,\n\t\t\t     void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3374,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3379
      start: 3370
    functionDepth: 0
    functionLinenumber: 3370
    functionLinenumberEnd: 3379
    functionName: fuse_req_interrupted
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int fuse_req_interrupted(fuse_req_t req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3384
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3384
    functionName: fuse_req_is_uring
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fuse_req_is_uring(fuse_req_t req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - req
    - payload
    - payload_sz
    - mr
    argTypes:
    - fuse_req_t
    - char**
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3395
    functionName: fuse_req_get_payload
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuse_req_get_payload(fuse_req_t req, char **payload, size_t *payload_sz,\n\t\t\t
      void **mr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - se
    - in_op
    argTypes:
    - struct fuse_session*
    - enum fuse_opcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3536
      start: 3457
    functionDepth: 0
    functionLinenumber: 3457
    functionLinenumberEnd: 3536
    functionName: fuse_req_opcode_sanity_ok
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuse_req_opcode_sanity_ok(struct fuse_session *se, enum fuse_opcode
      in_op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - in
    argTypes:
    - struct fuse_req*
    - struct fuse_in_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3545
      start: 3538
    functionDepth: 0
    functionLinenumber: 3538
    functionLinenumberEnd: 3545
    functionName: fuse_session_in2req
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuse_session_in2req(struct fuse_req *req, struct fuse_in_header
      *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 4
    argCount: 3
    argNames:
    - se
    - in_op
    - in_uid
    argTypes:
    - struct fuse_session*
    - enum fuse_opcode
    - uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3550
    functionDepth: 0
    functionLinenumber: 3550
    functionLinenumberEnd: 3566
    functionName: fuse_req_check_allow_root
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuse_req_check_allow_root(struct fuse_session *se, enum fuse_opcode
      in_op,\n\t\t\t  uid_t in_uid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - enum fuse_opcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3574
      start: 3568
    functionDepth: 0
    functionLinenumber: 3568
    functionLinenumberEnd: 3574
    functionName: opname
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *opname(enum fuse_opcode opcode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_buf_copy
      Src: /src/libfuse/lib/fuse_lowlevel.c:3579,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:3581,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_lowlevel.c:3581,1
    - Dst: fuse_buf_size
      Src: /src/libfuse/lib/fuse_lowlevel.c:3584,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:3585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct fuse_bufvec*
    - struct fuse_bufvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3589
      start: 3576
    functionDepth: 1
    functionLinenumber: 3576
    functionLinenumberEnd: 3589
    functionName: fuse_ll_copy_from_pipe
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_buf_size
    - strerror
    - fuse_buf_copy
    - fuse_log
    linkageType: ''
    returnType: int
    signature: "int fuse_ll_copy_from_pipe(struct fuse_bufvec *dst,\n\t\t\t\t  struct
      fuse_bufvec *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_process_buf_internal
      Src: /src/libfuse/lib/fuse_lowlevel.c:3594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - se
    - buf
    argTypes:
    - struct fuse_session*
    - struct fuse_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3595
      start: 3591
    functionDepth: 1
    functionLinenumber: 3591
    functionLinenumberEnd: 3595
    functionName: fuse_session_process_buf
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_session_process_buf_internal
    linkageType: ''
    returnType: void
    signature: "void fuse_session_process_buf(struct fuse_session *se,\n\t\t\t      const
      struct fuse_buf *buf)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/lib/fuse_lowlevel.c:3604,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:3616,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:3618,1
    - Dst: fuse_ll_copy_from_pipe
      Src: /src/libfuse/lib/fuse_lowlevel.c:3623,1
    - Dst: trace_request_process
      Src: /src/libfuse/lib/fuse_lowlevel.c:3632,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:3635,1
    - Dst: opname
      Src: /src/libfuse/lib/fuse_lowlevel.c:3638,1
    - Dst: fuse_ll_alloc_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:3642,1
    - Dst: fuse_send_msg
      Src: /src/libfuse/lib/fuse_lowlevel.c:3653,1
    - Dst: fuse_session_in2req
      Src: /src/libfuse/lib/fuse_lowlevel.c:3657,1
    - Dst: fuse_chan_get
      Src: /src/libfuse/lib/fuse_lowlevel.c:3658,1
    - Dst: fuse_req_opcode_sanity_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:3660,1
    - Dst: fuse_req_check_allow_root
      Src: /src/libfuse/lib/fuse_lowlevel.c:3664,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:3674,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3679,1
    - Dst: check_interrupt
      Src: /src/libfuse/lib/fuse_lowlevel.c:3680,1
    - Dst: list_add_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:3681,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_lowlevel.c:3682,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:3684,1
    - Dst: realloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:3693,1
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/lib/fuse_lowlevel.c:3698,1
    - Dst: fuse_ll_copy_from_pipe
      Src: /src/libfuse/lib/fuse_lowlevel.c:3701,1
    - Dst: do_write_buf
      Src: /src/libfuse/lib/fuse_lowlevel.c:3711,1
    - Dst: do_notify_reply
      Src: /src/libfuse/lib/fuse_lowlevel.c:3713,1
    - Dst: func
      Src: /src/libfuse/lib/fuse_lowlevel.c:3715,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:3718,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:3722,1
    - Dst: fuse_ll_clear_pipe
      Src: /src/libfuse/lib/fuse_lowlevel.c:3725,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 92
    argCount: 3
    argNames:
    - se
    - buf
    - ch
    argTypes:
    - struct fuse_session*
    - struct fuse_buf*
    - struct fuse_chan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3727
      start: 3598
    functionDepth: 6
    functionLinenumber: 3598
    functionLinenumberEnd: 3727
    functionName: fuse_session_process_buf_internal
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 2
    functionsReached:
    - malloc
    - realloc
    - fuse_req_check_allow_root
    - fuse_send_msg
    - list_add_req
    - do_notify_reply
    - fuse_session_in2req
    - fuse_ll_copy_from_pipe
    - trace_request_process
    - do_write_buf
    - fuse_req_opcode_sanity_ok
    - pthread_mutex_lock
    - check_interrupt
    - fuse_reply_err
    - FUSE_BUFVEC_INIT
    - opname
    - fuse_ll_alloc_req
    - pthread_mutex_unlock
    - fuse_log
    - fuse_chan_get
    - free
    - func
    - fuse_ll_clear_pipe
    linkageType: ''
    returnType: void
    signature: "void fuse_session_process_buf_internal(struct fuse_session *se,\n\t\t\t\t
      \ const struct fuse_buf *buf, struct fuse_chan *ch)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_in2req
      Src: /src/libfuse/lib/fuse_lowlevel.c:3736,1
    - Dst: fuse_req_opcode_sanity_ok
      Src: /src/libfuse/lib/fuse_lowlevel.c:3738,1
    - Dst: fuse_req_check_allow_root
      Src: /src/libfuse/lib/fuse_lowlevel.c:3742,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:3751,1
    - Dst: opname
      Src: /src/libfuse/lib/fuse_lowlevel.c:3755,1
    - Dst: _do_write_buf
      Src: /src/libfuse/lib/fuse_lowlevel.c:3766,1
    - Dst: do_notify_reply
      Src: /src/libfuse/lib/fuse_lowlevel.c:3770,1
    - Dst: func
      Src: /src/libfuse/lib/fuse_lowlevel.c:3772,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse_lowlevel.c:3779,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 6
    argNames:
    - se
    - req
    - in
    - op_in
    - op_payload
    - payload_len
    argTypes:
    - struct fuse_session*
    - struct fuse_req*
    - struct fuse_in_header*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3780
      start: 3729
    functionDepth: 6
    functionLinenumber: 3729
    functionLinenumberEnd: 3780
    functionName: fuse_session_process_uring_cqe
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - opname
    - fuse_req_check_allow_root
    - func
    - fuse_log
    - do_notify_reply
    - fuse_session_in2req
    - _do_write_buf
    - fuse_reply_err
    - fuse_req_opcode_sanity_ok
    linkageType: ''
    returnType: void
    signature: "void fuse_session_process_uring_cqe(struct fuse_session *se,\n\t\t\t\t
      \   struct fuse_req *req,\n\t\t\t\t    struct fuse_in_header *in, void *op_in,\n\t\t\t\t
      \   void *op_payload, size_t payload_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3784
      start: 3782
    functionDepth: 0
    functionLinenumber: 3782
    functionLinenumberEnd: 3784
    functionName: LL_OPTION
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_OPTION(n,o,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/lib/fuse_lowlevel.c:3797,1
    - Dst: fuse_mount_version
      Src: /src/libfuse/lib/fuse_lowlevel.c:3799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3795
    functionDepth: 0
    functionLinenumber: 3795
    functionLinenumberEnd: 3800
    functionName: fuse_lowlevel_version
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_mount_version
    - printf
    linkageType: ''
    returnType: void
    signature: void fuse_lowlevel_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/lib/fuse_lowlevel.c:3806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3813
      start: 3802
    functionDepth: 0
    functionLinenumber: 3802
    functionLinenumberEnd: 3813
    functionName: fuse_lowlevel_help
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void fuse_lowlevel_help(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct fuse_session*::op::destroy
      Src: /src/libfuse/lib/fuse_lowlevel.c:3821,1
    - Dst: pthread_getspecific
      Src: /src/libfuse/lib/fuse_lowlevel.c:3823,1
    - Dst: fuse_ll_pipe_free
      Src: /src/libfuse/lib/fuse_lowlevel.c:3825,1
    - Dst: pthread_key_delete
      Src: /src/libfuse/lib/fuse_lowlevel.c:3826,1
    - Dst: sem_destroy
      Src: /src/libfuse/lib/fuse_lowlevel.c:3827,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse_lowlevel.c:3828,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse_lowlevel.c:3829,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:3830,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_lowlevel.c:3832,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:3834,1
    - Dst: destroy_mount_opts
      Src: /src/libfuse/lib/fuse_lowlevel.c:3835,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:3836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3837
      start: 3815
    functionDepth: 1
    functionLinenumber: 3815
    functionLinenumberEnd: 3837
    functionName: fuse_session_destroy
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 4
    functionsReached:
    - struct fuse_session*::op::destroy
    - sem_destroy
    - destroy_mount_opts
    - fuse_ll_pipe_free
    - pthread_getspecific
    - pthread_mutex_destroy
    - free
    - pthread_key_delete
    - close
    linkageType: ''
    returnType: void
    signature: void fuse_session_destroy(struct fuse_session *se)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_ll_pipe_free
      Src: /src/libfuse/lib/fuse_lowlevel.c:3843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3844
      start: 3840
    functionDepth: 1
    functionLinenumber: 3840
    functionLinenumberEnd: 3844
    functionName: fuse_ll_pipe_destructor
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_ll_pipe_free
    linkageType: ''
    returnType: void
    signature: void fuse_ll_pipe_destructor(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:3855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct fuse_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3857
      start: 3846
    functionDepth: 0
    functionLinenumber: 3846
    functionLinenumberEnd: 3857
    functionName: fuse_buf_free
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fuse_buf_free(struct fuse_buf *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_UP
      Src: /src/libfuse/lib/fuse_lowlevel.c:3872,1
    - Dst: aligned_alloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:3874,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:3882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - size
    - internal
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3884
      start: 3862
    functionDepth: 1
    functionLinenumber: 3862
    functionLinenumberEnd: 3884
    functionName: buf_alloc
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - malloc
    - ROUND_UP
    - aligned_alloc
    linkageType: ''
    returnType: void
    signature: void *buf_alloc(size_t size, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _fuse_session_receive_buf
      Src: /src/libfuse/lib/fuse_lowlevel.c:4096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - se
    - buf
    argTypes:
    - struct fuse_session*
    - struct fuse_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4097
      start: 4094
    functionDepth: 0
    functionLinenumber: 4094
    functionLinenumberEnd: 4097
    functionName: fuse_session_receive_buf
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _fuse_session_receive_buf
    linkageType: ''
    returnType: int
    signature: int fuse_session_receive_buf(struct fuse_session *se, struct fuse_buf
      *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/libfuse/lib/fuse_lowlevel.c:4108,1
    - Dst: _fuse_session_receive_buf
      Src: /src/libfuse/lib/fuse_lowlevel.c:4111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - se
    - buf
    - ch
    argTypes:
    - struct fuse_session*
    - struct fuse_buf*
    - struct fuse_chan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4112
      start: 4100
    functionDepth: 1
    functionLinenumber: 4100
    functionLinenumberEnd: 4112
    functionName: fuse_session_receive_buf_internal
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _fuse_session_receive_buf
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int fuse_session_receive_buf_internal(struct fuse_session *se,\n\t\t\t\t
      \     struct fuse_buf *buf,\n\t\t\t\t      struct fuse_chan *ch)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4124,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4130,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4135,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4140,1
    - Dst: calloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:4144,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4146,1
    - Dst: getpagesize
      Src: /src/libfuse/lib/fuse_lowlevel.c:4150,1
    - Dst: getenv
      Src: /src/libfuse/lib/fuse_lowlevel.c:4158,1
    - Dst: atoi
      Src: /src/libfuse/lib/fuse_lowlevel.c:4159,1
    - Dst: getenv
      Src: /src/libfuse/lib/fuse_lowlevel.c:4159,1
    - Dst: getenv
      Src: /src/libfuse/lib/fuse_lowlevel.c:4161,1
    - Dst: atoi
      Src: /src/libfuse/lib/fuse_lowlevel.c:4162,1
    - Dst: getenv
      Src: /src/libfuse/lib/fuse_lowlevel.c:4162,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/fuse_lowlevel.c:4166,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/lib/fuse_lowlevel.c:4175,1
    - Dst: parse_mount_opts
      Src: /src/libfuse/lib/fuse_lowlevel.c:4178,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4184,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4188,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4190,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4191,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4196,1
    - Dst: list_init_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:4198,1
    - Dst: list_init_req
      Src: /src/libfuse/lib/fuse_lowlevel.c:4199,1
    - Dst: list_init_nreq
      Src: /src/libfuse/lib/fuse_lowlevel.c:4200,1
    - Dst: pthread_mutex_init
      Src: /src/libfuse/lib/fuse_lowlevel.c:4202,1
    - Dst: sem_init
      Src: /src/libfuse/lib/fuse_lowlevel.c:4203,1
    - Dst: pthread_mutex_init
      Src: /src/libfuse/lib/fuse_lowlevel.c:4204,1
    - Dst: pthread_key_create
      Src: /src/libfuse/lib/fuse_lowlevel.c:4206,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4208,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_lowlevel.c:4209,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse_lowlevel.c:4213,1
    - Dst: getuid
      Src: /src/libfuse/lib/fuse_lowlevel.c:4214,1
    - Dst: sem_destroy
      Src: /src/libfuse/lib/fuse_lowlevel.c:4229,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse_lowlevel.c:4230,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse_lowlevel.c:4231,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/lib/fuse_lowlevel.c:4233,1
    - Dst: destroy_mount_opts
      Src: /src/libfuse/lib/fuse_lowlevel.c:4236,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:4238,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 91
    argCount: 5
    argNames:
    - args
    - op
    - op_size
    - version
    - userdata
    argTypes:
    - struct fuse_args*
    - struct fuse_lowlevel_ops*
    - size_t
    - struct libfuse_version*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4241
      start: 4114
    functionDepth: 1
    functionLinenumber: 4114
    functionLinenumberEnd: 4241
    functionName: fuse_session_new_versioned
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - list_init_nreq
    - calloc
    - memcpy
    - parse_mount_opts
    - list_init_req
    - atoi
    - sem_init
    - fuse_opt_free_args
    - pthread_mutex_destroy
    - sem_destroy
    - destroy_mount_opts
    - getuid
    - fuse_opt_parse
    - getenv
    - strerror
    - fuse_log
    - free
    - getpagesize
    - fuse_opt_add_arg
    - pthread_mutex_init
    - pthread_key_create
    linkageType: ''
    returnType: struct fuse_session
    signature: "struct fuse_session *\nfuse_session_new_versioned(struct fuse_args
      *args,\n\t\t\t   const struct fuse_lowlevel_ops *op, size_t op_size,\n\t\t\t
      \  struct libfuse_version *version, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_new_versioned
      Src: /src/libfuse/lib/fuse_lowlevel.c:4267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - op
    - op_size
    - userdata
    argTypes:
    - struct fuse_args*
    - struct fuse_lowlevel_ops*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4269
      start: 4246
    functionDepth: 2
    functionLinenumber: 4246
    functionLinenumberEnd: 4269
    functionName: fuse_session_new_30
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_session_new_versioned
    linkageType: ''
    returnType: struct fuse_session
    signature: "struct fuse_session *fuse_session_new_30(struct fuse_args *args,\n\t\t\t\t\t
      \ const struct fuse_lowlevel_ops *op,\n\t\t\t\t\t  size_t op_size,\n\t\t\t\t\t
      \ void *userdata)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4276,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4281,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4286,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4294,1
    - Dst: calloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:4299,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4301,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_lowlevel.c:4302,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse_lowlevel.c:4307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - se
    - io
    - op_size
    - fd
    argTypes:
    - struct fuse_session*
    - struct fuse_custom_io*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4309
      start: 4272
    functionDepth: 1
    functionLinenumber: 4272
    functionLinenumberEnd: 4309
    functionName: fuse_session_custom_io_317
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 2
    functionsReached:
    - strerror
    - fuse_log
    - calloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int fuse_session_custom_io_317(struct fuse_session *se,\n\t\t\t\tconst
      struct fuse_custom_io *io, size_t op_size, int fd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_custom_io_317
      Src: /src/libfuse/lib/fuse_lowlevel.c:4317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - se
    - io
    - fd
    argTypes:
    - struct fuse_session*
    - struct fuse_custom_io*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4314
    functionDepth: 2
    functionLinenumber: 4314
    functionLinenumberEnd: 4319
    functionName: fuse_session_custom_io_30
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_session_custom_io_317
    linkageType: ''
    returnType: int
    signature: "int fuse_session_custom_io_30(struct fuse_session *se,\n\t\t\tconst
      struct fuse_custom_io *io, int fd)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4327,1
    - Dst: strdup
      Src: /src/libfuse/lib/fuse_lowlevel.c:4331,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4333,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_lowlevel.c:4334,1
    - Dst: open
      Src: /src/libfuse/lib/fuse_lowlevel.c:4343,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_lowlevel.c:4345,1
    - Dst: fuse_mnt_parse_fuse_fd
      Src: /src/libfuse/lib/fuse_lowlevel.c:4354,1
    - Dst: fcntl
      Src: /src/libfuse/lib/fuse_lowlevel.c:4356,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_lowlevel.c:4357,1
    - Dst: fuse_kern_mount
      Src: /src/libfuse/lib/fuse_lowlevel.c:4367,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:4378,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - se
    - _mountpoint
    argTypes:
    - struct fuse_session*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4380
      start: 4321
    functionDepth: 1
    functionLinenumber: 4321
    functionLinenumberEnd: 4380
    functionName: fuse_session_mount
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 3
    functionsReached:
    - fcntl
    - strdup
    - strerror
    - open
    - fuse_mnt_parse_fuse_fd
    - fuse_log
    - free
    - close
    - fuse_kern_mount
    linkageType: ''
    returnType: int
    signature: int fuse_session_mount(struct fuse_session *se, const char *_mountpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4385
      start: 4382
    functionDepth: 0
    functionLinenumber: 4382
    functionLinenumberEnd: 4385
    functionName: fuse_session_fd
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuse_session_fd(struct fuse_session *se)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_exchange
      Src: /src/libfuse/lib/fuse_lowlevel.c:4390,1
    - Dst: fuse_kern_unmount
      Src: /src/libfuse/lib/fuse_lowlevel.c:4392,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:4394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4396
      start: 4387
    functionDepth: 0
    functionLinenumber: 4387
    functionLinenumberEnd: 4396
    functionName: fuse_session_unmount
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 3
    functionsReached:
    - free
    - fuse_kern_unmount
    - atomic_exchange
    linkageType: ''
    returnType: void
    signature: void fuse_session_unmount(struct fuse_session *se)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libfuse/lib/fuse_lowlevel.c:4409,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_lowlevel.c:4412,1
    - Dst: open
      Src: /src/libfuse/lib/fuse_lowlevel.c:4417,1
    - Dst: read
      Src: /src/libfuse/lib/fuse_lowlevel.c:4421,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_lowlevel.c:4422,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:4429,1
    - Dst: strstr
      Src: /src/libfuse/lib/fuse_lowlevel.c:4436,1
    - Dst: strtoul
      Src: /src/libfuse/lib/fuse_lowlevel.c:4444,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_lowlevel.c:4455,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - req
    - size
    - list
    argTypes:
    - fuse_req_t
    - int
    - gid_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4457
      start: 4399
    functionDepth: 0
    functionLinenumber: 4399
    functionLinenumberEnd: 4457
    functionName: fuse_req_getgroups
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - malloc
    - read
    - open
    - sprintf
    - free
    - strstr
    - close
    - strtoul
    linkageType: ''
    returnType: int
    signature: int fuse_req_getgroups(fuse_req_t req, int size, gid_t list[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - req
    - size
    - list
    argTypes:
    - fuse_req_t
    - int
    - gid_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4466
      start: 4462
    functionDepth: 0
    functionLinenumber: 4462
    functionLinenumberEnd: 4466
    functionName: fuse_req_getgroups
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuse_req_getgroups(fuse_req_t req, int size, gid_t list[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/libfuse/lib/fuse_lowlevel.c:4474,1
    - Dst: sem_post
      Src: /src/libfuse/lib/fuse_lowlevel.c:4475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4476
      start: 4471
    functionDepth: 0
    functionLinenumber: 4471
    functionLinenumberEnd: 4476
    functionName: fuse_session_exit
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 3
    functionsReached:
    - sem_post
    - atomic_store_explicit
    linkageType: ''
    returnType: void
    signature: void fuse_session_exit(struct fuse_session *se)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4483
      start: 4478
    functionDepth: 0
    functionLinenumber: 4478
    functionLinenumberEnd: 4483
    functionName: fuse_session_reset
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuse_session_reset(struct fuse_session *se)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/libfuse/lib/fuse_lowlevel.c:4489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4492
      start: 4485
    functionDepth: 0
    functionLinenumber: 4485
    functionLinenumberEnd: 4492
    functionName: fuse_session_exited
    functionSourceFile: /src/libfuse/lib/fuse_lowlevel.c
    functionUses: 4
    functionsReached:
    - atomic_load_explicit
    linkageType: ''
    returnType: int
    signature: int fuse_session_exited(struct fuse_session *se)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: list_entry
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: list_entry(ptr, type, member)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/lib/fuse.c:211,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:213,1
    - Dst: strdup
      Src: /src/libfuse/lib/fuse.c:216,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:218,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - name
    - factory
    - so
    argTypes:
    - char*
    - fuse_module_factory_t
    - struct fusemod_so*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 231
    functionName: fuse_register_module
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - strdup
    - fuse_log
    - calloc
    - free
    linkageType: ''
    returnType: int
    signature: "int fuse_register_module(const char *name,\n\t\t\t\tfuse_module_factory_t
      factory,\n\t\t\t\tstruct fusemod_so *so)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:242,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct fuse_module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: fuse_unregister_module
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fuse_unregister_module(struct fuse_module *m)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:253,1
    - Dst: strlen
      Src: /src/libfuse/lib/fuse.c:253,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:255,1
    - Dst: sprintf
      Src: /src/libfuse/lib/fuse.c:258,1
    - Dst: calloc
      Src: /src/libfuse/lib/fuse.c:259,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:261,1
    - Dst: dlopen
      Src: /src/libfuse/lib/fuse.c:265,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:267,1
    - Dst: dlerror
      Src: /src/libfuse/lib/fuse.c:268,1
    - Dst: sprintf
      Src: /src/libfuse/lib/fuse.c:272,1
    - Dst: dlsym
      Src: /src/libfuse/lib/fuse.c:273,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:275,1
    - Dst: dlerror
      Src: /src/libfuse/lib/fuse.c:276,1
    - Dst: fuse_register_module
      Src: /src/libfuse/lib/fuse.c:279,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:284,1
    - Dst: dlclose
      Src: /src/libfuse/lib/fuse.c:288,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - module
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 292
    functionName: fuse_load_so_module
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - malloc
    - dlerror
    - dlsym
    - dlopen
    - sprintf
    - strlen
    - fuse_log
    - calloc
    - free
    - dlclose
    - fuse_register_module
    linkageType: ''
    returnType: int
    signature: int fuse_load_so_module(const char *module)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/lib/fuse.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - module
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: fuse_find_module
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct fuse_module
    signature: struct fuse_module *fuse_find_module(const char *module)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:310,1
    - Dst: fuse_find_module
      Src: /src/libfuse/lib/fuse.c:311,1
    - Dst: fuse_load_so_module
      Src: /src/libfuse/lib/fuse.c:313,1
    - Dst: fuse_find_module
      Src: /src/libfuse/lib/fuse.c:315,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - module
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: fuse_get_module
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - fuse_find_module
    - fuse_load_so_module
    linkageType: ''
    returnType: struct fuse_module
    signature: struct fuse_module *fuse_get_module(const char *module)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:323,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:325,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:331,1
    - Dst: fuse_unregister_module
      Src: /src/libfuse/lib/fuse.c:337,1
    - Dst: dlclose
      Src: /src/libfuse/lib/fuse.c:341,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:342,1
    - Dst: fuse_unregister_module
      Src: /src/libfuse/lib/fuse.c:345,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct fuse_module*
    assertStmts:
    - condition: (so->ctr > 0)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/libfuse/lib/fuse.c
    - condition: (m->ctr > 0)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 348
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 348
    functionName: fuse_put_module
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - assert
    - fuse_unregister_module
    - pthread_mutex_unlock
    - free
    - dlclose
    linkageType: ''
    returnType: void
    signature: void fuse_put_module(struct fuse_module *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: init_list_head
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_list_head(struct list_head *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: list_empty
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int list_empty(const struct list_head *head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - new
    - prev
    - next
    argTypes:
    - struct list_head*
    - struct list_head*
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: list_add
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void list_add(struct list_head *new, struct list_head *prev,\n\t\t
      \    struct list_head *next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - new
    - head
    argTypes:
    - struct list_head*
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: list_add_head
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_add_head(struct list_head *new, struct list_head *head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - new
    - head
    argTypes:
    - struct list_head*
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: list_add_tail
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_add_tail(struct list_head *new, struct list_head *head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: list_del
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_del(struct list_head *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: lru_enabled
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lru_enabled(struct fuse *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: node_lru
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct node_lru
    signature: struct node_lru *node_lru(struct node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lru_enabled
      Src: /src/libfuse/lib/fuse.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: get_node_size
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - lru_enabled
    linkageType: ''
    returnType: size_t
    signature: size_t get_node_size(struct fuse *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct list_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: list_to_slab
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct node_slab
    signature: struct node_slab *list_to_slab(struct list_head *head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: node_to_slab
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct node_slab
    signature: struct node_slab *node_to_slab(struct fuse *f, struct node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_node_size
      Src: /src/libfuse/lib/fuse.c:425,1
    - Dst: mmap
      Src: /src/libfuse/lib/fuse.c:427,1
    - Dst: init_list_head
      Src: /src/libfuse/lib/fuse.c:434,1
    - Dst: list_add_tail
      Src: /src/libfuse/lib/fuse.c:443,1
    - Dst: list_add_tail
      Src: /src/libfuse/lib/fuse.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 448
    functionName: alloc_slab
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - list_add_tail
    - get_node_size
    - init_list_head
    - mmap
    linkageType: ''
    returnType: int
    signature: int alloc_slab(struct fuse *f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_empty
      Src: /src/libfuse/lib/fuse.c:455,1
    - Dst: alloc_slab
      Src: /src/libfuse/lib/fuse.c:456,1
    - Dst: list_to_slab
      Src: /src/libfuse/lib/fuse.c:460,1
    - Dst: list_del
      Src: /src/libfuse/lib/fuse.c:463,1
    - Dst: list_empty
      Src: /src/libfuse/lib/fuse.c:464,1
    - Dst: list_del
      Src: /src/libfuse/lib/fuse.c:465,1
    - Dst: list_add_tail
      Src: /src/libfuse/lib/fuse.c:466,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 471
    functionName: alloc_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - alloc_slab
    - list_empty
    - list_to_slab
    - memset
    - list_del
    - list_add_tail
    linkageType: ''
    returnType: struct node
    signature: struct node *alloc_node(struct fuse *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_del
      Src: /src/libfuse/lib/fuse.c:477,1
    - Dst: munmap
      Src: /src/libfuse/lib/fuse.c:478,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - slab
    argTypes:
    - struct fuse*
    - struct node_slab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: free_slab
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - munmap
    - fuse_log
    - list_del
    linkageType: ''
    returnType: void
    signature: void free_slab(struct fuse *f, struct node_slab *slab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node_to_slab
      Src: /src/libfuse/lib/fuse.c:486,1
    - Dst: list_empty
      Src: /src/libfuse/lib/fuse.c:491,1
    - Dst: list_del
      Src: /src/libfuse/lib/fuse.c:492,1
    - Dst: list_add_tail
      Src: /src/libfuse/lib/fuse.c:493,1
    - Dst: list_add_head
      Src: /src/libfuse/lib/fuse.c:495,1
    - Dst: free_slab
      Src: /src/libfuse/lib/fuse.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 499
    functionName: free_node_mem
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - list_empty
    - list_add_head
    - list_del
    - node_to_slab
    - free_slab
    - list_add_tail
    linkageType: ''
    returnType: void
    signature: void free_node_mem(struct fuse *f, struct node *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/lib/fuse.c:503,1
    - Dst: get_node_size
      Src: /src/libfuse/lib/fuse.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: alloc_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node_size
    - calloc
    linkageType: ''
    returnType: struct node
    signature: struct node *alloc_node(struct fuse *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: free_node_mem
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_node_mem(struct fuse *f, struct node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - f
    - ino
    argTypes:
    - struct fuse*
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 522
    functionName: id_hash
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t id_hash(struct fuse *f, fuse_ino_t ino)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: id_hash
      Src: /src/libfuse/lib/fuse.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - f
    - nodeid
    argTypes:
    - struct fuse*
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 534
    functionName: get_node_nocheck
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - id_hash
    linkageType: ''
    returnType: struct node
    signature: struct node *get_node_nocheck(struct fuse *f, fuse_ino_t nodeid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_node_nocheck
      Src: /src/libfuse/lib/fuse.c:538,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:540,1
    - Dst: abort
      Src: /src/libfuse/lib/fuse.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f
    - nodeid
    argTypes:
    - struct fuse*
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 545
    functionName: get_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node_nocheck
    - fuse_log
    - abort
    linkageType: ''
    returnType: struct node
    signature: struct node *get_node(struct fuse *f, fuse_ino_t nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_lru
      Src: /src/libfuse/lib/fuse.c:553,1
    - Dst: list_del
      Src: /src/libfuse/lib/fuse.c:554,1
    - Dst: init_list_head
      Src: /src/libfuse/lib/fuse.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 556
    functionName: remove_node_lru
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - node_lru
    - init_list_head
    - list_del
    linkageType: ''
    returnType: void
    signature: void remove_node_lru(struct node *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_lru
      Src: /src/libfuse/lib/fuse.c:560,1
    - Dst: list_del
      Src: /src/libfuse/lib/fuse.c:562,1
    - Dst: list_add_tail
      Src: /src/libfuse/lib/fuse.c:563,1
    - Dst: curr_time
      Src: /src/libfuse/lib/fuse.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 565
    functionName: set_forget_time
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - node_lru
    - list_add_tail
    - curr_time
    - list_del
    linkageType: ''
    returnType: void
    signature: void set_forget_time(struct fuse *f, struct node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:570,1
    - Dst: free_node_mem
      Src: /src/libfuse/lib/fuse.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: free_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - free_node_mem
    - free
    linkageType: ''
    returnType: void
    signature: void free_node(struct fuse *f, struct node *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libfuse/lib/fuse.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct node_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 588
    functionName: node_table_reduce
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void node_table_reduce(struct node_table *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node_table_reduce
      Src: /src/libfuse/lib/fuse.c:596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 614
    functionName: remerge_id
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - node_table_reduce
    linkageType: ''
    returnType: void
    signature: void remerge_id(struct fuse *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: id_hash
      Src: /src/libfuse/lib/fuse.c:618,1
    - Dst: remerge_id
      Src: /src/libfuse/lib/fuse.c:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 629
    functionName: unhash_id
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - remerge_id
    - id_hash
    linkageType: ''
    returnType: void
    signature: void unhash_id(struct fuse *f, struct node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libfuse/lib/fuse.c:636,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct node_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 646
    functionName: node_table_resize
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - memset
    - realloc
    linkageType: ''
    returnType: int
    signature: int node_table_resize(struct node_table *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_hash
      Src: /src/libfuse/lib/fuse.c:662,1
    - Dst: node_table_resize
      Src: /src/libfuse/lib/fuse.c:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 675
    functionName: rehash_id
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - node_table_resize
    - id_hash
    linkageType: ''
    returnType: void
    signature: void rehash_id(struct fuse *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: id_hash
      Src: /src/libfuse/lib/fuse.c:679,1
    - Dst: rehash_id
      Src: /src/libfuse/lib/fuse.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 686
    functionName: hash_id
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - rehash_id
    - id_hash
    linkageType: ''
    returnType: void
    signature: void hash_id(struct fuse *f, struct node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - f
    - parent
    - name
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 703
    functionName: name_hash
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t name_hash(struct fuse *f, fuse_ino_t parent,\n\t\t\tconst char
      *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node_table_reduce
      Src: /src/libfuse/lib/fuse.c:713,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 731
    functionName: remerge_name
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - node_table_reduce
    linkageType: ''
    returnType: void
    signature: void remerge_name(struct fuse *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: name_hash
      Src: /src/libfuse/lib/fuse.c:736,1
    - Dst: unref_node
      Src: /src/libfuse/lib/fuse.c:743,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:745,1
    - Dst: remerge_name
      Src: /src/libfuse/lib/fuse.c:751,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:754,1
    - Dst: abort
      Src: /src/libfuse/lib/fuse.c:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 759
    functionName: unhash_name
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - remerge_name
    - unref_node
    - fuse_log
    - name_hash
    - free
    - abort
    linkageType: ''
    returnType: void
    signature: void unhash_name(struct fuse *f, struct node *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: name_hash
      Src: /src/libfuse/lib/fuse.c:775,1
    - Dst: node_table_resize
      Src: /src/libfuse/lib/fuse.c:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 788
    functionName: rehash_name
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - name_hash
    - node_table_resize
    linkageType: ''
    returnType: void
    signature: void rehash_name(struct fuse *f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: name_hash
      Src: /src/libfuse/lib/fuse.c:793,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:794,1
    - Dst: strlen
      Src: /src/libfuse/lib/fuse.c:795,1
    - Dst: strcpy
      Src: /src/libfuse/lib/fuse.c:796,1
    - Dst: strdup
      Src: /src/libfuse/lib/fuse.c:799,1
    - Dst: rehash_name
      Src: /src/libfuse/lib/fuse.c:811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - f
    - node
    - parentid
    - name
    argTypes:
    - struct fuse*
    - struct node*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 790
    functionDepth: 3
    functionLinenumber: 790
    functionLinenumberEnd: 814
    functionName: hash_name
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - get_node
    - strdup
    - rehash_name
    - strlen
    - name_hash
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int hash_name(struct fuse *f, struct node *node, fuse_ino_t parentid,\n\t\t
      \    const char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:819,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:822,1
    - Dst: unhash_name
      Src: /src/libfuse/lib/fuse.c:823,1
    - Dst: lru_enabled
      Src: /src/libfuse/lib/fuse.c:824,1
    - Dst: remove_node_lru
      Src: /src/libfuse/lib/fuse.c:825,1
    - Dst: unhash_id
      Src: /src/libfuse/lib/fuse.c:826,1
    - Dst: free_node
      Src: /src/libfuse/lib/fuse.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts:
    - condition: (node->treelock == 0)
      pos:
        line_end: 821
        line_start: 821
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 828
      start: 816
    functionDepth: 4
    functionLinenumber: 816
    functionLinenumberEnd: 828
    functionName: delete_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - unhash_name
    - free_node
    - unhash_id
    - assert
    - lru_enabled
    - fuse_log
    - remove_node_lru
    linkageType: ''
    returnType: void
    signature: void delete_node(struct fuse *f, struct node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:832,1
    - Dst: delete_node
      Src: /src/libfuse/lib/fuse.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts:
    - condition: (node->refctr > 0)
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 836
      start: 830
    functionDepth: 5
    functionLinenumber: 830
    functionLinenumberEnd: 836
    functionName: unref_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - delete_node
    - assert
    linkageType: ''
    returnType: void
    signature: void unref_node(struct fuse *f, struct node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_node_nocheck
      Src: /src/libfuse/lib/fuse.c:845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 847
    functionName: next_id
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node_nocheck
    linkageType: ''
    returnType: fuse_ino_t
    signature: fuse_ino_t next_id(struct fuse *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_hash
      Src: /src/libfuse/lib/fuse.c:852,1
    - Dst: strcmp
      Src: /src/libfuse/lib/fuse.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - f
    - parent
    - name
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 861
    functionName: lookup_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - strcmp
    - name_hash
    linkageType: ''
    returnType: struct node
    signature: "struct node *lookup_node(struct fuse *f, fuse_ino_t parent,\n\t\t\t\tconst
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 868
    functionName: inc_nlookup
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void inc_nlookup(struct node *node)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:875,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:877,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:879,1
    - Dst: alloc_node
      Src: /src/libfuse/lib/fuse.c:881,1
    - Dst: next_id
      Src: /src/libfuse/lib/fuse.c:885,1
    - Dst: inc_nlookup
      Src: /src/libfuse/lib/fuse.c:888,1
    - Dst: hash_name
      Src: /src/libfuse/lib/fuse.c:890,1
    - Dst: free_node
      Src: /src/libfuse/lib/fuse.c:891,1
    - Dst: hash_id
      Src: /src/libfuse/lib/fuse.c:895,1
    - Dst: lru_enabled
      Src: /src/libfuse/lib/fuse.c:896,1
    - Dst: node_lru
      Src: /src/libfuse/lib/fuse.c:897,1
    - Dst: init_list_head
      Src: /src/libfuse/lib/fuse.c:898,1
    - Dst: lru_enabled
      Src: /src/libfuse/lib/fuse.c:900,1
    - Dst: remove_node_lru
      Src: /src/libfuse/lib/fuse.c:901,1
    - Dst: inc_nlookup
      Src: /src/libfuse/lib/fuse.c:903,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:905,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - f
    - parent
    - name
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 870
    functionDepth: 4
    functionLinenumber: 870
    functionLinenumberEnd: 907
    functionName: find_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - alloc_node
    - remove_node_lru
    - free_node
    - pthread_mutex_lock
    - node_lru
    - hash_id
    - init_list_head
    - lookup_node
    - pthread_mutex_unlock
    - lru_enabled
    - inc_nlookup
    - hash_name
    - next_id
    linkageType: ''
    returnType: struct node
    signature: "struct node *find_node(struct fuse *f, fuse_ino_t parent,\n\t\t\t
      \     const char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libfuse/lib/fuse.c:912,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:916,1
    - Dst: strtok_r
      Src: /src/libfuse/lib/fuse.c:921,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:923,1
    - Dst: strtok_r
      Src: /src/libfuse/lib/fuse.c:929,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:931,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - f
    - path
    - inop
    argTypes:
    - struct fuse*
    - char*
    - fuse_ino_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 937
    functionName: lookup_path_in_cache
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - strdup
    - pthread_mutex_lock
    - lookup_node
    - strtok_r
    - pthread_mutex_unlock
    - free
    linkageType: ''
    returnType: int
    signature: "int lookup_path_in_cache(struct fuse *f,\n\t\tconst char *path, fuse_ino_t
      *inop)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/fuse.c:941,1
    - Dst: realloc
      Src: /src/libfuse/lib/fuse.c:955,1
    - Dst: memmove
      Src: /src/libfuse/lib/fuse.c:961,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse.c:965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - buf
    - bufsize
    - s
    - name
    argTypes:
    - char**
    - unsigned*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 970
    functionName: add_name
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - realloc
    - strlen
    - memcpy
    - memmove
    linkageType: ''
    returnType: char
    signature: char *add_name(char **buf, unsigned *bufsize, char *s, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:978,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:982,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:984,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:985,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - f
    - nodeid
    - wnode
    - end
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - struct node*
    - struct node*
    assertStmts:
    - condition: (wnode->treelock == TREELOCK_WRITE)
      pos:
        line_end: 977
        line_start: 977
        source_file: /src/libfuse/lib/fuse.c
    - condition: (node->treelock != TREELOCK_WRITE)
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/libfuse/lib/fuse.c
    - condition: (node->treelock != 0)
      pos:
        line_end: 983
        line_start: 983
        source_file: /src/libfuse/lib/fuse.c
    - condition: (node->treelock != TREELOCK_WAIT_OFFSET)
      pos:
        line_end: 984
        line_start: 984
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 991
      start: 972
    functionDepth: 3
    functionLinenumber: 972
    functionLinenumberEnd: 991
    functionName: unlock_path
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - assert
    linkageType: ''
    returnType: void
    signature: "void unlock_path(struct fuse *f, fuse_ino_t nodeid, struct node *wnode,\n\t\t\tstruct
      node *end)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:1006,1
    - Dst: add_name
      Src: /src/libfuse/lib/fuse.c:1014,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:1021,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:1022,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:1034,1
    - Dst: add_name
      Src: /src/libfuse/lib/fuse.c:1041,1
    - Dst: memmove
      Src: /src/libfuse/lib/fuse.c:1055,1
    - Dst: strcpy
      Src: /src/libfuse/lib/fuse.c:1057,1
    - Dst: unlock_path
      Src: /src/libfuse/lib/fuse.c:1067,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:1069,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 6
    argNames:
    - f
    - nodeid
    - name
    - path
    - wnodep
    - need_lock
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - char**
    - struct node**
    - bool
    assertStmts:
    - condition: (need_lock)
      pos:
        line_end: 1020
        line_start: 1020
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 1073
      start: 993
    functionDepth: 4
    functionLinenumber: 993
    functionLinenumberEnd: 1073
    functionName: try_get_path
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - malloc
    - get_node
    - assert
    - memmove
    - unlock_path
    - lookup_node
    - add_name
    - free
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int try_get_path(struct fuse *f, fuse_ino_t nodeid, const char *name,\n\t\t\tchar
      **path, struct node **wnodep, bool need_lock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: try_get_path
      Src: /src/libfuse/lib/fuse.c:1083,1
    - Dst: try_get_path
      Src: /src/libfuse/lib/fuse.c:1085,1
    - Dst: unlock_path
      Src: /src/libfuse/lib/fuse.c:1089,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 9
    argNames:
    - f
    - nodeid1
    - name1
    - nodeid2
    - name2
    - path1
    - path2
    - wnode1
    - wnode2
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - fuse_ino_t
    - char*
    - char**
    - char**
    - struct node**
    - struct node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1075
    functionDepth: 5
    functionLinenumber: 1075
    functionLinenumberEnd: 1094
    functionName: try_get_path2
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - unlock_path
    - free
    - try_get_path
    linkageType: ''
    returnType: int
    signature: "int try_get_path2(struct fuse *f, fuse_ino_t nodeid1, const char *name1,\n\t\t\t
      fuse_ino_t nodeid2, const char *name2,\n\t\t\t char **path1, char **path2,\n\t\t\t
      struct node **wnode1, struct node **wnode2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:1102,1
    - Dst: pthread_cond_signal
      Src: /src/libfuse/lib/fuse.c:1103,1
    - Dst: try_get_path
      Src: /src/libfuse/lib/fuse.c:1112,1
    - Dst: try_get_path2
      Src: /src/libfuse/lib/fuse.c:1115,1
    - Dst: pthread_cond_signal
      Src: /src/libfuse/lib/fuse.c:1125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - f
    - qe
    argTypes:
    - struct fuse*
    - struct lock_queue_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1096
    functionDepth: 6
    functionLinenumber: 1096
    functionLinenumberEnd: 1126
    functionName: queue_element_wakeup
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - try_get_path2
    - pthread_cond_signal
    - try_get_path
    linkageType: ''
    returnType: void
    signature: void queue_element_wakeup(struct fuse *f, struct lock_queue_element
      *qe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue_element_wakeup
      Src: /src/libfuse/lib/fuse.c:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1128
    functionDepth: 7
    functionLinenumber: 1128
    functionLinenumberEnd: 1134
    functionName: wake_up_queued
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - queue_element_wakeup
    linkageType: ''
    returnType: void
    signature: void wake_up_queued(struct fuse *f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:1143,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1146,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - f
    - msg
    - nodeid
    - name
    - wr
    argTypes:
    - struct fuse*
    - char*
    - fuse_ino_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1136
    functionDepth: 2
    functionLinenumber: 1136
    functionLinenumberEnd: 1153
    functionName: debug_path
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - lookup_node
    linkageType: ''
    returnType: void
    signature: "void debug_path(struct fuse *f, const char *msg, fuse_ino_t nodeid,\n\t\t
      \      const char *name, bool wr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_init
      Src: /src/libfuse/lib/fuse.c:1160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - f
    - qe
    argTypes:
    - struct fuse*
    - struct lock_queue_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1164
    functionName: queue_path
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    linkageType: ''
    returnType: void
    signature: void queue_path(struct fuse *f, struct lock_queue_element *qe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_destroy
      Src: /src/libfuse/lib/fuse.c:1170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - qe
    argTypes:
    - struct fuse*
    - struct lock_queue_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1173
    functionName: dequeue_path
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void dequeue_path(struct fuse *f, struct lock_queue_element *qe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue_path
      Src: /src/libfuse/lib/fuse.c:1177,1
    - Dst: pthread_cond_wait
      Src: /src/libfuse/lib/fuse.c:1180,1
    - Dst: dequeue_path
      Src: /src/libfuse/lib/fuse.c:1183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - f
    - qe
    argTypes:
    - struct fuse*
    - struct lock_queue_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1186
    functionName: wait_path
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - queue_path
    - pthread_cond_wait
    - dequeue_path
    linkageType: ''
    returnType: int
    signature: int wait_path(struct fuse *f, struct lock_queue_element *qe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:1193,1
    - Dst: try_get_path
      Src: /src/libfuse/lib/fuse.c:1194,1
    - Dst: debug_path
      Src: /src/libfuse/lib/fuse.c:1202,1
    - Dst: wait_path
      Src: /src/libfuse/lib/fuse.c:1203,1
    - Dst: debug_path
      Src: /src/libfuse/lib/fuse.c:1204,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:1206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - f
    - nodeid
    - name
    - path
    - wnode
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - char**
    - struct node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 5
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: get_path_common
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - wait_path
    - debug_path
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - try_get_path
    linkageType: ''
    returnType: int
    signature: "int get_path_common(struct fuse *f, fuse_ino_t nodeid, const char
      *name,\n\t\t\t   char **path, struct node **wnode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_path_common
      Src: /src/libfuse/lib/fuse.c:1213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - f
    - nodeid
    - path
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1211
    functionDepth: 6
    functionLinenumber: 1211
    functionLinenumberEnd: 1214
    functionName: get_path
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 3
    functionsReached:
    - get_path_common
    linkageType: ''
    returnType: int
    signature: int get_path(struct fuse *f, fuse_ino_t nodeid, char **path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_path_common
      Src: /src/libfuse/lib/fuse.c:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - f
    - nodeid
    - path
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1216
    functionDepth: 6
    functionLinenumber: 1216
    functionLinenumberEnd: 1229
    functionName: get_path_nullok
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_common
    linkageType: ''
    returnType: int
    signature: int get_path_nullok(struct fuse *f, fuse_ino_t nodeid, char **path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_path_common
      Src: /src/libfuse/lib/fuse.c:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f
    - nodeid
    - name
    - path
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1231
    functionDepth: 6
    functionLinenumber: 1231
    functionLinenumberEnd: 1235
    functionName: get_path_name
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_common
    linkageType: ''
    returnType: int
    signature: "int get_path_name(struct fuse *f, fuse_ino_t nodeid, const char *name,\n\t\t\t
      char **path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_path_common
      Src: /src/libfuse/lib/fuse.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - f
    - nodeid
    - name
    - path
    - wnode
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - char**
    - struct node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1237
    functionDepth: 6
    functionLinenumber: 1237
    functionLinenumberEnd: 1241
    functionName: get_path_wrlock
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_common
    linkageType: ''
    returnType: int
    signature: "int get_path_wrlock(struct fuse *f, fuse_ino_t nodeid, const char
      *name,\n\t\t\t   char **path, struct node **wnode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:1255,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:1258,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:1261,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:1272,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 5
    argNames:
    - f
    - nodeid1
    - name1
    - nodeid2
    - name2
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1248
    functionDepth: 3
    functionLinenumber: 1248
    functionLinenumberEnd: 1283
    functionName: check_dir_loop
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - lookup_node
    linkageType: ''
    returnType: int
    signature: "int check_dir_loop(struct fuse *f,\n\t\t\t  fuse_ino_t nodeid1, const
      char *name1,\n\t\t\t  fuse_ino_t nodeid2, const char *name2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:1293,1
    - Dst: check_dir_loop
      Src: /src/libfuse/lib/fuse.c:1299,1
    - Dst: try_get_path2
      Src: /src/libfuse/lib/fuse.c:1305,1
    - Dst: debug_path
      Src: /src/libfuse/lib/fuse.c:1319,1
    - Dst: debug_path
      Src: /src/libfuse/lib/fuse.c:1320,1
    - Dst: wait_path
      Src: /src/libfuse/lib/fuse.c:1321,1
    - Dst: debug_path
      Src: /src/libfuse/lib/fuse.c:1322,1
    - Dst: debug_path
      Src: /src/libfuse/lib/fuse.c:1323,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 9
    argNames:
    - f
    - nodeid1
    - name1
    - nodeid2
    - name2
    - path1
    - path2
    - wnode1
    - wnode2
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - fuse_ino_t
    - char*
    - char**
    - char**
    - struct node**
    - struct node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1286
    functionDepth: 6
    functionLinenumber: 1286
    functionLinenumberEnd: 1332
    functionName: get_path2
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 2
    functionsReached:
    - try_get_path2
    - wait_path
    - debug_path
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - check_dir_loop
    linkageType: ''
    returnType: int
    signature: "int get_path2(struct fuse *f, fuse_ino_t nodeid1, const char *name1,\n\t\t
      \    fuse_ino_t nodeid2, const char *name2,\n\t\t     char **path1, char **path2,\n\t\t
      \    struct node **wnode1, struct node **wnode2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:1337,1
    - Dst: unlock_path
      Src: /src/libfuse/lib/fuse.c:1338,1
    - Dst: wake_up_queued
      Src: /src/libfuse/lib/fuse.c:1340,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:1341,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - f
    - nodeid
    - wnode
    - path
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - struct node*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1334
    functionDepth: 8
    functionLinenumber: 1334
    functionLinenumberEnd: 1343
    functionName: free_path_wrlock
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - unlock_path
    - pthread_mutex_unlock
    - free
    - wake_up_queued
    linkageType: ''
    returnType: void
    signature: "void free_path_wrlock(struct fuse *f, fuse_ino_t nodeid,\n\t\t\t     struct
      node *wnode, char *path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_path_wrlock
      Src: /src/libfuse/lib/fuse.c:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - f
    - nodeid
    - path
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1345
    functionDepth: 9
    functionLinenumber: 1345
    functionLinenumberEnd: 1349
    functionName: free_path
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - free_path_wrlock
    linkageType: ''
    returnType: void
    signature: void free_path(struct fuse *f, fuse_ino_t nodeid, char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:1355,1
    - Dst: unlock_path
      Src: /src/libfuse/lib/fuse.c:1356,1
    - Dst: unlock_path
      Src: /src/libfuse/lib/fuse.c:1357,1
    - Dst: wake_up_queued
      Src: /src/libfuse/lib/fuse.c:1358,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:1359,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:1360,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - f
    - nodeid1
    - nodeid2
    - wnode1
    - wnode2
    - path1
    - path2
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - fuse_ino_t
    - struct node*
    - struct node*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1351
    functionDepth: 8
    functionLinenumber: 1351
    functionLinenumberEnd: 1362
    functionName: free_path2
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - unlock_path
    - pthread_mutex_unlock
    - free
    - wake_up_queued
    linkageType: ''
    returnType: void
    signature: "void free_path2(struct fuse *f, fuse_ino_t nodeid1, fuse_ino_t nodeid2,\n\t\t
      \      struct node *wnode1, struct node *wnode2,\n\t\t       char *path1, char
      *path2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:1369,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:1370,1
    - Dst: debug_path
      Src: /src/libfuse/lib/fuse.c:1381,1
    - Dst: queue_path
      Src: /src/libfuse/lib/fuse.c:1382,1
    - Dst: pthread_cond_wait
      Src: /src/libfuse/lib/fuse.c:1385,1
    - Dst: dequeue_path
      Src: /src/libfuse/lib/fuse.c:1388,1
    - Dst: debug_path
      Src: /src/libfuse/lib/fuse.c:1389,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:1392,1
    - Dst: unref_node
      Src: /src/libfuse/lib/fuse.c:1395,1
    - Dst: lru_enabled
      Src: /src/libfuse/lib/fuse.c:1396,1
    - Dst: set_forget_time
      Src: /src/libfuse/lib/fuse.c:1397,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:1399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - f
    - nodeid
    - nlookup
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - uint64_t
    assertStmts:
    - condition: (node->nlookup >= nlookup)
      pos:
        line_end: 1391
        line_start: 1391
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 1400
      start: 1364
    functionDepth: 6
    functionLinenumber: 1364
    functionLinenumberEnd: 1400
    functionName: forget_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - debug_path
    - pthread_mutex_lock
    - assert
    - queue_path
    - set_forget_time
    - dequeue_path
    - pthread_mutex_unlock
    - unref_node
    - pthread_cond_wait
    - lru_enabled
    linkageType: ''
    returnType: void
    signature: void forget_node(struct fuse *f, fuse_ino_t nodeid, uint64_t nlookup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:1405,1
    - Dst: unhash_name
      Src: /src/libfuse/lib/fuse.c:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f
    - node
    argTypes:
    - struct fuse*
    - struct node*
    assertStmts:
    - condition: (node->nlookup > 1)
      pos:
        line_end: 1404
        line_start: 1404
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 1409
      start: 1402
    functionDepth: 3
    functionLinenumber: 1402
    functionLinenumberEnd: 1409
    functionName: unlink_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - unhash_name
    - assert
    linkageType: ''
    returnType: void
    signature: void unlink_node(struct fuse *f, struct node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:1415,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:1416,1
    - Dst: unlink_node
      Src: /src/libfuse/lib/fuse.c:1418,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - f
    - dir
    - name
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1411
    functionDepth: 4
    functionLinenumber: 1411
    functionLinenumberEnd: 1420
    functionName: remove_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - unlink_node
    - lookup_node
    linkageType: ''
    returnType: void
    signature: void remove_node(struct fuse *f, fuse_ino_t dir, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:1429,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:1430,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:1431,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1437,1
    - Dst: unlink_node
      Src: /src/libfuse/lib/fuse.c:1441,1
    - Dst: unhash_name
      Src: /src/libfuse/lib/fuse.c:1444,1
    - Dst: hash_name
      Src: /src/libfuse/lib/fuse.c:1445,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:1454,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 6
    argNames:
    - f
    - olddir
    - oldname
    - newdir
    - newname
    - hide
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - fuse_ino_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1422
    functionDepth: 4
    functionLinenumber: 1422
    functionLinenumberEnd: 1456
    functionName: rename_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - unhash_name
    - pthread_mutex_lock
    - unlink_node
    - lookup_node
    - pthread_mutex_unlock
    - fuse_log
    - hash_name
    linkageType: ''
    returnType: int
    signature: "int rename_node(struct fuse *f, fuse_ino_t olddir, const char *oldname,\n\t\t
      \      fuse_ino_t newdir, const char *newname, int hide)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:1465,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:1466,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:1467,1
    - Dst: unhash_name
      Src: /src/libfuse/lib/fuse.c:1470,1
    - Dst: unhash_name
      Src: /src/libfuse/lib/fuse.c:1472,1
    - Dst: hash_name
      Src: /src/libfuse/lib/fuse.c:1476,1
    - Dst: hash_name
      Src: /src/libfuse/lib/fuse.c:1480,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:1485,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - f
    - olddir
    - oldname
    - newdir
    - newname
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1458
    functionDepth: 4
    functionLinenumber: 1458
    functionLinenumberEnd: 1487
    functionName: exchange_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - unhash_name
    - pthread_mutex_lock
    - lookup_node
    - pthread_mutex_unlock
    - hash_name
    linkageType: ''
    returnType: int
    signature: "int exchange_node(struct fuse *f, fuse_ino_t olddir, const char *oldname,\n\t\t\t
      fuse_ino_t newdir, const char *newname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: S_ISDIR
      Src: /src/libfuse/lib/fuse.c:1494,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - f
    - nodeid
    - stbuf
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1508
    functionName: set_stat
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - S_ISDIR
    linkageType: ''
    returnType: void
    signature: void set_stat(struct fuse *f, fuse_ino_t nodeid, struct stat *stbuf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: S_ISDIR
      Src: /src/libfuse/lib/fuse.c:1516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - f
    - nodeid
    - stxbuf
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - struct statx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1530
    functionName: set_statx
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - S_ISDIR
    linkageType: ''
    returnType: void
    signature: void set_statx(struct fuse *f, fuse_ino_t nodeid, struct statx *stxbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_userdata
      Src: /src/libfuse/lib/fuse.c:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1536
    functionName: req_fuse
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_req_userdata
    linkageType: ''
    returnType: struct fuse
    signature: struct fuse *req_fuse(fuse_req_t req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1542
    functionName: fuse_intr_sighandler
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuse_intr_sighandler(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse
      Src: /src/libfuse/lib/fuse.c:1553,1
    - Dst: pthread_self
      Src: /src/libfuse/lib/fuse.c:1555,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:1558,1
    - Dst: pthread_kill
      Src: /src/libfuse/lib/fuse.c:1563,1
    - Dst: gettimeofday
      Src: /src/libfuse/lib/fuse.c:1564,1
    - Dst: pthread_cond_timedwait
      Src: /src/libfuse/lib/fuse.c:1567,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:1569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - req
    - d_
    argTypes:
    - fuse_req_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1550
    functionDepth: 2
    functionLinenumber: 1550
    functionLinenumberEnd: 1570
    functionName: fuse_interrupt
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - req_fuse
    - pthread_kill
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - pthread_self
    - gettimeofday
    - pthread_cond_timedwait
    linkageType: ''
    returnType: void
    signature: void fuse_interrupt(fuse_req_t req, void *d_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:1575,1
    - Dst: pthread_cond_broadcast
      Src: /src/libfuse/lib/fuse.c:1577,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:1578,1
    - Dst: fuse_req_interrupt_func
      Src: /src/libfuse/lib/fuse.c:1579,1
    - Dst: pthread_cond_destroy
      Src: /src/libfuse/lib/fuse.c:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - f
    - req
    - d
    argTypes:
    - struct fuse*
    - fuse_req_t
    - struct fuse_intr_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1581
    functionName: fuse_do_finish_interrupt
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_req_interrupt_func
    - pthread_mutex_lock
    - pthread_cond_broadcast
    - pthread_cond_destroy
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void fuse_do_finish_interrupt(struct fuse *f, fuse_req_t req,\n\t\t\t\t
      \    struct fuse_intr_data *d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/libfuse/lib/fuse.c:1585,1
    - Dst: pthread_cond_init
      Src: /src/libfuse/lib/fuse.c:1586,1
    - Dst: fuse_req_interrupt_func
      Src: /src/libfuse/lib/fuse.c:1588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - d
    argTypes:
    - fuse_req_t
    - struct fuse_intr_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1589
    functionName: fuse_do_prepare_interrupt
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    - fuse_req_interrupt_func
    - pthread_self
    linkageType: ''
    returnType: void
    signature: void fuse_do_prepare_interrupt(fuse_req_t req, struct fuse_intr_data
      *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_do_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:1595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - f
    - req
    - d
    argTypes:
    - struct fuse*
    - fuse_req_t
    - struct fuse_intr_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1591
    functionDepth: 2
    functionLinenumber: 1591
    functionLinenumberEnd: 1596
    functionName: fuse_finish_interrupt
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_do_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_finish_interrupt(struct fuse *f, fuse_req_t req,\n\t\t\t\t\t
      struct fuse_intr_data *d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_do_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:1602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - f
    - req
    - d
    argTypes:
    - struct fuse*
    - fuse_req_t
    - struct fuse_intr_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1598
    functionDepth: 2
    functionLinenumber: 1598
    functionLinenumberEnd: 1603
    functionName: fuse_prepare_interrupt
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_do_prepare_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_prepare_interrupt(struct fuse *f, fuse_req_t req,\n\t\t\t\t\t
      \ struct fuse_intr_data *d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libfuse/lib/fuse.c:1610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fi
    - buf
    - len
    argTypes:
    - struct fuse_file_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1612
    functionName: file_info_string
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char * file_info_string(struct fuse_file_info *fi,\n\t\t\t      char*
      buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1617,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1624,1
    - Dst: file_info_string
      Src: /src/libfuse/lib/fuse.c:1625,1
    - Dst: struct fuse_fs*::op::getattr
      Src: /src/libfuse/lib/fuse.c:1628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fs
    - path
    - buf
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1629
    functionName: fuse_fs_getattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - file_info_string
    - struct fuse_fs*::op::getattr
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_getattr(struct fuse_fs *fs, const char *path, struct stat
      *buf,\n\t\t    struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1634,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1638,1
    - Dst: struct fuse_fs*::op::rename
      Src: /src/libfuse/lib/fuse.c:1641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - fs
    - oldpath
    - newpath
    - flags
    argTypes:
    - struct fuse_fs*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1631
    functionDepth: 1
    functionLinenumber: 1631
    functionLinenumberEnd: 1642
    functionName: fuse_fs_rename
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::rename
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_rename(struct fuse_fs *fs, const char *oldpath,\n\t\t
      \  const char *newpath, unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1646,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1650,1
    - Dst: struct fuse_fs*::op::unlink
      Src: /src/libfuse/lib/fuse.c:1652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fs
    - path
    argTypes:
    - struct fuse_fs*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1653
    functionName: fuse_fs_unlink
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - struct fuse_fs*::op::unlink
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: int fuse_fs_unlink(struct fuse_fs *fs, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1657,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1661,1
    - Dst: struct fuse_fs*::op::rmdir
      Src: /src/libfuse/lib/fuse.c:1663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fs
    - path
    argTypes:
    - struct fuse_fs*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1655
    functionDepth: 1
    functionLinenumber: 1655
    functionLinenumberEnd: 1664
    functionName: fuse_fs_rmdir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - struct fuse_fs*::op::rmdir
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: int fuse_fs_rmdir(struct fuse_fs *fs, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1668,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1672,1
    - Dst: struct fuse_fs*::op::symlink
      Src: /src/libfuse/lib/fuse.c:1674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fs
    - linkname
    - path
    argTypes:
    - struct fuse_fs*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1675
    functionName: fuse_fs_symlink
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - struct fuse_fs*::op::symlink
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: int fuse_fs_symlink(struct fuse_fs *fs, const char *linkname, const
      char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1679,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1683,1
    - Dst: struct fuse_fs*::op::link
      Src: /src/libfuse/lib/fuse.c:1685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fs
    - oldpath
    - newpath
    argTypes:
    - struct fuse_fs*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1677
    functionDepth: 1
    functionLinenumber: 1677
    functionLinenumberEnd: 1686
    functionName: fuse_fs_link
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::link
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: int fuse_fs_link(struct fuse_fs *fs, const char *oldpath, const char
      *newpath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1691,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1696,1
    - Dst: struct fuse_fs*::op::release
      Src: /src/libfuse/lib/fuse.c:1700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fs
    - path
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1701
    functionName: fuse_fs_release
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - struct fuse_fs*::op::release
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_release(struct fuse_fs *fs,\t const char *path,\n\t\t
      \   struct fuse_file_info *fi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1708,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1713,1
    - Dst: struct fuse_fs*::op::opendir
      Src: /src/libfuse/lib/fuse.c:1716,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - fs
    - path
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1723
    functionName: fuse_fs_opendir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::opendir
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_opendir(struct fuse_fs *fs, const char *path,\n\t\t    struct
      fuse_file_info *fi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1730,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1735,1
    - Dst: struct fuse_fs*::op::open
      Src: /src/libfuse/lib/fuse.c:1738,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - fs
    - path
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1725
    functionDepth: 1
    functionLinenumber: 1725
    functionLinenumberEnd: 1745
    functionName: fuse_fs_open
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::open
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_open(struct fuse_fs *fs, const char *path,\n\t\t struct
      fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:1754,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:1755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct fuse_bufvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1757
    functionName: fuse_free_buf
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fuse_free_buf(struct fuse_bufvec *buf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1765,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1770,1
    - Dst: struct fuse_fs*::op::read_buf
      Src: /src/libfuse/lib/fuse.c:1776,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:1781,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:1785,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:1787,1
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/lib/fuse.c:1790,1
    - Dst: struct fuse_fs*::op::read
      Src: /src/libfuse/lib/fuse.c:1794,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1800,1
    - Dst: fuse_buf_size
      Src: /src/libfuse/lib/fuse.c:1802,1
    - Dst: fuse_buf_size
      Src: /src/libfuse/lib/fuse.c:1804,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1805,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 6
    argNames:
    - fs
    - path
    - bufp
    - size
    - 'off'
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_bufvec**
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1759
    functionDepth: 1
    functionLinenumber: 1759
    functionLinenumberEnd: 1811
    functionName: fuse_fs_read_buf
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - malloc
    - struct fuse_fs*::op::read_buf
    - fuse_log
    - free
    - struct fuse_fs*::op::read
    - fuse_get_context
    - fuse_buf_size
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_read_buf(struct fuse_fs *fs, const char *path,\n\t\t     struct
      fuse_bufvec **bufp, size_t size, off_t off,\n\t\t     struct fuse_file_info
      *fi)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1818,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1823,1
    - Dst: struct fuse_fs*::op::read_buf
      Src: /src/libfuse/lib/fuse.c:1831,1
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/lib/fuse.c:1833,1
    - Dst: fuse_buf_copy
      Src: /src/libfuse/lib/fuse.c:1836,1
    - Dst: fuse_free_buf
      Src: /src/libfuse/lib/fuse.c:1838,1
    - Dst: struct fuse_fs*::op::read
      Src: /src/libfuse/lib/fuse.c:1840,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1844,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1849,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 6
    argNames:
    - fs
    - path
    - mem
    - size
    - 'off'
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1852
    functionName: fuse_fs_read
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_free_buf
    - struct fuse_fs*::op::read_buf
    - fuse_buf_copy
    - fuse_log
    - struct fuse_fs*::op::read
    - fuse_get_context
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_read(struct fuse_fs *fs, const char *path, char *mem,
      size_t size,\n\t\t off_t off, struct fuse_file_info *fi)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1861,1
    - Dst: fuse_buf_size
      Src: /src/libfuse/lib/fuse.c:1865,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:1866,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1868,1
    - Dst: struct fuse_fs*::op::write_buf
      Src: /src/libfuse/lib/fuse.c:1877,1
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/lib/fuse.c:1881,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:1888,1
    - Dst: fuse_buf_copy
      Src: /src/libfuse/lib/fuse.c:1893,1
    - Dst: struct fuse_fs*::op::write
      Src: /src/libfuse/lib/fuse.c:1901,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:1904,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1908,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1913,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 5
    argNames:
    - fs
    - path
    - buf
    - 'off'
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_bufvec*
    - off_t
    - struct fuse_file_info*
    assertStmts:
    - condition: (buf->idx == 0 && buf->off == 0)
      pos:
        line_end: 1865
        line_start: 1865
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 1916
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1916
    functionName: fuse_fs_write_buf
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - malloc
    - struct fuse_fs*::op::write
    - assert
    - struct fuse_fs*::op::write_buf
    - fuse_buf_copy
    - fuse_log
    - free
    - fuse_get_context
    - fuse_buf_size
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_write_buf(struct fuse_fs *fs, const char *path,\n\t\t
      \     struct fuse_bufvec *buf, off_t off,\n\t\t      struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/lib/fuse.c:1921,1
    - Dst: fuse_fs_write_buf
      Src: /src/libfuse/lib/fuse.c:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - fs
    - path
    - mem
    - size
    - 'off'
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1918
    functionDepth: 2
    functionLinenumber: 1918
    functionLinenumberEnd: 1926
    functionName: fuse_fs_write
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_fs_write_buf
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_write(struct fuse_fs *fs, const char *path, const char
      *mem,\n\t\t  size_t size, off_t off, struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1931,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1936,1
    - Dst: struct fuse_fs*::op::fsync
      Src: /src/libfuse/lib/fuse.c:1939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - fs
    - path
    - datasync
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1928
    functionDepth: 1
    functionLinenumber: 1928
    functionLinenumberEnd: 1940
    functionName: fuse_fs_fsync
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::fsync
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_fsync(struct fuse_fs *fs, const char *path, int datasync,\n\t\t
      \ struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1945,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1950,1
    - Dst: struct fuse_fs*::op::fsyncdir
      Src: /src/libfuse/lib/fuse.c:1953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - fs
    - path
    - datasync
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1954
    functionName: fuse_fs_fsyncdir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::fsyncdir
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_fsyncdir(struct fuse_fs *fs, const char *path, int datasync,\n\t\t
      \    struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1959,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1963,1
    - Dst: struct fuse_fs*::op::flush
      Src: /src/libfuse/lib/fuse.c:1966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fs
    - path
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1967
    functionName: fuse_fs_flush
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::flush
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_flush(struct fuse_fs *fs, const char *path,\n\t\t  struct
      fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1971,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1974,1
    - Dst: struct fuse_fs*::op::statfs
      Src: /src/libfuse/lib/fuse.c:1976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fs
    - path
    - buf
    argTypes:
    - struct fuse_fs*
    - char*
    - struct statvfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1969
    functionDepth: 1
    functionLinenumber: 1969
    functionLinenumberEnd: 1982
    functionName: fuse_fs_statfs
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - struct fuse_fs*::op::statfs
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: int fuse_fs_statfs(struct fuse_fs *fs, const char *path, struct statvfs
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:1987,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:1992,1
    - Dst: struct fuse_fs*::op::releasedir
      Src: /src/libfuse/lib/fuse.c:1995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fs
    - path
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1984
    functionDepth: 1
    functionLinenumber: 1984
    functionLinenumberEnd: 1996
    functionName: fuse_fs_releasedir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - struct fuse_fs*::op::releasedir
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_releasedir(struct fuse_fs *fs, const char *path,\n\t\t
      \      struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2003,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2007,1
    - Dst: struct fuse_fs*::op::readdir
      Src: /src/libfuse/lib/fuse.c:2013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - fs
    - path
    - buf
    - filler
    - 'off'
    - fi
    - flags
    argTypes:
    - struct fuse_fs*
    - char*
    - void*
    - fuse_fill_dir_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1998
    functionDepth: 1
    functionLinenumber: 1998
    functionLinenumberEnd: 2014
    functionName: fuse_fs_readdir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::readdir
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_readdir(struct fuse_fs *fs, const char *path, void *buf,\n\t\t
      \   fuse_fill_dir_t filler, off_t off,\n\t\t    struct fuse_file_info *fi,\n\t\t
      \   enum fuse_readdir_flags flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2021,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2026,1
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2029,1
    - Dst: struct fuse_fs*::op::create
      Src: /src/libfuse/lib/fuse.c:2031,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - fs
    - path
    - mode
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 2016
    functionDepth: 1
    functionLinenumber: 2016
    functionLinenumberEnd: 2038
    functionName: fuse_fs_create
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - struct fuse_fs*::op::create
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_create(struct fuse_fs *fs, const char *path, mode_t mode,\n\t\t
      \  struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2043,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2048,1
    - Dst: struct fuse_fs*::op::lock
      Src: /src/libfuse/lib/fuse.c:2061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - fs
    - path
    - fi
    - cmd
    - lock
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_file_info*
    - int
    - struct flock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2040
    functionDepth: 1
    functionLinenumber: 2040
    functionLinenumberEnd: 2062
    functionName: fuse_fs_lock
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::lock
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_lock(struct fuse_fs *fs, const char *path,\n\t\t struct
      fuse_file_info *fi, int cmd, struct flock *lock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2067,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2074,1
    - Dst: struct fuse_fs*::op::flock
      Src: /src/libfuse/lib/fuse.c:2081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fs
    - path
    - fi
    - op
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_file_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2082
    functionName: fuse_fs_flock
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - struct fuse_fs*::op::flock
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_flock(struct fuse_fs *fs, const char *path,\n\t\t  struct
      fuse_file_info *fi, int op)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2087,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2093,1
    - Dst: file_info_string
      Src: /src/libfuse/lib/fuse.c:2094,1
    - Dst: struct fuse_fs*::op::chown
      Src: /src/libfuse/lib/fuse.c:2097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - fs
    - path
    - uid
    - gid
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - uid_t
    - gid_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2084
    functionDepth: 1
    functionLinenumber: 2084
    functionLinenumberEnd: 2098
    functionName: fuse_fs_chown
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::chown
    - fuse_log
    - file_info_string
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_chown(struct fuse_fs *fs, const char *path, uid_t uid,\n\t\t
      \ gid_t gid, struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2103,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2109,1
    - Dst: file_info_string
      Src: /src/libfuse/lib/fuse.c:2110,1
    - Dst: struct fuse_fs*::op::truncate
      Src: /src/libfuse/lib/fuse.c:2113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fs
    - path
    - size
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2100
    functionDepth: 1
    functionLinenumber: 2100
    functionLinenumberEnd: 2114
    functionName: fuse_fs_truncate
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::truncate
    - fuse_log
    - file_info_string
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_truncate(struct fuse_fs *fs, const char *path, off_t size,\n\t\t
      \     struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2119,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2125,1
    - Dst: file_info_string
      Src: /src/libfuse/lib/fuse.c:2126,1
    - Dst: struct fuse_fs*::op::utimens
      Src: /src/libfuse/lib/fuse.c:2130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fs
    - path
    - tv
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - struct timespec[]
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2116
    functionDepth: 1
    functionLinenumber: 2116
    functionLinenumberEnd: 2131
    functionName: fuse_fs_utimens
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::utimens
    - fuse_log
    - file_info_string
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_utimens(struct fuse_fs *fs, const char *path,\n\t\t    const
      struct timespec tv[2], struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2135,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2139,1
    - Dst: struct fuse_fs*::op::access
      Src: /src/libfuse/lib/fuse.c:2141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fs
    - path
    - mask
    argTypes:
    - struct fuse_fs*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2142
    functionName: fuse_fs_access
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::access
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: int fuse_fs_access(struct fuse_fs *fs, const char *path, int mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2147,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2151,1
    - Dst: struct fuse_fs*::op::readlink
      Src: /src/libfuse/lib/fuse.c:2154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - fs
    - path
    - buf
    - len
    argTypes:
    - struct fuse_fs*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2144
    functionDepth: 1
    functionLinenumber: 2144
    functionLinenumberEnd: 2155
    functionName: fuse_fs_readlink
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::readlink
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_readlink(struct fuse_fs *fs, const char *path, char *buf,\n\t\t
      \    size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2160,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2164,1
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2166,1
    - Dst: struct fuse_fs*::op::mknod
      Src: /src/libfuse/lib/fuse.c:2168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - fs
    - path
    - mode
    - rdev
    argTypes:
    - struct fuse_fs*
    - char*
    - mode_t
    - dev_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2157
    functionDepth: 1
    functionLinenumber: 2157
    functionLinenumberEnd: 2169
    functionName: fuse_fs_mknod
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::mknod
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_mknod(struct fuse_fs *fs, const char *path, mode_t mode,\n\t\t
      \ dev_t rdev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2173,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2177,1
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2178,1
    - Dst: struct fuse_fs*::op::mkdir
      Src: /src/libfuse/lib/fuse.c:2180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fs
    - path
    - mode
    argTypes:
    - struct fuse_fs*
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2171
    functionDepth: 1
    functionLinenumber: 2171
    functionLinenumberEnd: 2181
    functionName: fuse_fs_mkdir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::mkdir
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: int fuse_fs_mkdir(struct fuse_fs *fs, const char *path, mode_t mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2186,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2190,1
    - Dst: struct fuse_fs*::op::setxattr
      Src: /src/libfuse/lib/fuse.c:2193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - fs
    - path
    - name
    - value
    - size
    - flags
    argTypes:
    - struct fuse_fs*
    - char*
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2183
    functionDepth: 1
    functionLinenumber: 2183
    functionLinenumberEnd: 2194
    functionName: fuse_fs_setxattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::setxattr
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_setxattr(struct fuse_fs *fs, const char *path, const char
      *name,\n\t\t     const char *value, size_t size, int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2199,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2203,1
    - Dst: struct fuse_fs*::op::getxattr
      Src: /src/libfuse/lib/fuse.c:2206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - fs
    - path
    - name
    - value
    - size
    argTypes:
    - struct fuse_fs*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2196
    functionDepth: 1
    functionLinenumber: 2196
    functionLinenumberEnd: 2207
    functionName: fuse_fs_getxattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::getxattr
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_getxattr(struct fuse_fs *fs, const char *path, const char
      *name,\n\t\t     char *value, size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2212,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2216,1
    - Dst: struct fuse_fs*::op::listxattr
      Src: /src/libfuse/lib/fuse.c:2219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - fs
    - path
    - list
    - size
    argTypes:
    - struct fuse_fs*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2209
    functionDepth: 1
    functionLinenumber: 2209
    functionLinenumberEnd: 2220
    functionName: fuse_fs_listxattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - struct fuse_fs*::op::listxattr
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_listxattr(struct fuse_fs *fs, const char *path, char *list,\n\t\t
      \     size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2225,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2229,1
    - Dst: struct fuse_fs*::op::bmap
      Src: /src/libfuse/lib/fuse.c:2233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - fs
    - path
    - blocksize
    - idx
    argTypes:
    - struct fuse_fs*
    - char*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2234
    functionName: fuse_fs_bmap
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::bmap
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_bmap(struct fuse_fs *fs, const char *path, size_t blocksize,\n\t\t
      uint64_t *idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2238,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2242,1
    - Dst: struct fuse_fs*::op::removexattr
      Src: /src/libfuse/lib/fuse.c:2244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fs
    - path
    - name
    argTypes:
    - struct fuse_fs*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2236
    functionDepth: 1
    functionLinenumber: 2236
    functionLinenumberEnd: 2245
    functionName: fuse_fs_removexattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::removexattr
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: int fuse_fs_removexattr(struct fuse_fs *fs, const char *path, const
      char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2251,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2255,1
    - Dst: struct fuse_fs*::op::ioctl
      Src: /src/libfuse/lib/fuse.c:2258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - fs
    - path
    - cmd
    - arg
    - fi
    - flags
    - data
    argTypes:
    - struct fuse_fs*
    - char*
    - unsigned int
    - void*
    - struct fuse_file_info*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2259
    functionName: fuse_fs_ioctl
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::ioctl
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_ioctl(struct fuse_fs *fs, const char *path, unsigned int
      cmd,\n\t\t  void *arg, struct fuse_file_info *fi, unsigned int flags,\n\t\t
      \ void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2267,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2271,1
    - Dst: struct fuse_fs*::op::poll
      Src: /src/libfuse/lib/fuse.c:2275,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - fs
    - path
    - fi
    - ph
    - reventsp
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_file_info*
    - struct fuse_pollhandle*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2261
    functionDepth: 1
    functionLinenumber: 2261
    functionLinenumberEnd: 2282
    functionName: fuse_fs_poll
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - struct fuse_fs*::op::poll
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_poll(struct fuse_fs *fs, const char *path,\n\t\t struct
      fuse_file_info *fi, struct fuse_pollhandle *ph,\n\t\t unsigned *reventsp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2287,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2291,1
    - Dst: struct fuse_fs*::op::fallocate
      Src: /src/libfuse/lib/fuse.c:2297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - fs
    - path
    - mode
    - offset
    - length
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - int
    - off_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2284
    functionDepth: 1
    functionLinenumber: 2284
    functionLinenumberEnd: 2298
    functionName: fuse_fs_fallocate
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::fallocate
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_fallocate(struct fuse_fs *fs, const char *path, int mode,\n\t\toff_t
      offset, off_t length, struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2306,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2310,1
    - Dst: struct fuse_fs*::op::copy_file_range
      Src: /src/libfuse/lib/fuse.c:2318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 9
    argNames:
    - fs
    - path_in
    - fi_in
    - off_in
    - path_out
    - fi_out
    - off_out
    - len
    - flags
    argTypes:
    - struct fuse_fs*
    - char*
    - struct fuse_file_info*
    - off_t
    - char*
    - struct fuse_file_info*
    - off_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2300
    functionDepth: 1
    functionLinenumber: 2300
    functionLinenumberEnd: 2320
    functionName: fuse_fs_copy_file_range
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::copy_file_range
    - fuse_log
    - fuse_get_context
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t fuse_fs_copy_file_range(struct fuse_fs *fs, const char *path_in,\n\t\t\t\tstruct
      fuse_file_info *fi_in, off_t off_in,\n\t\t\t\tconst char *path_out,\n\t\t\t\tstruct
      fuse_file_info *fi_out, off_t off_out,\n\t\t\t\tsize_t len, int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2325,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2331,1
    - Dst: file_info_string
      Src: /src/libfuse/lib/fuse.c:2332,1
    - Dst: struct fuse_fs*::op::lseek
      Src: /src/libfuse/lib/fuse.c:2335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - fs
    - path
    - 'off'
    - whence
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - off_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2322
    functionDepth: 1
    functionLinenumber: 2322
    functionLinenumberEnd: 2336
    functionName: fuse_fs_lseek
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::lseek
    - fuse_log
    - file_info_string
    - fuse_get_context
    linkageType: ''
    returnType: off_t
    signature: "off_t fuse_fs_lseek(struct fuse_fs *fs, const char *path, off_t off,
      int whence,\n\t\t    struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2342,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2347,1
    - Dst: file_info_string
      Src: /src/libfuse/lib/fuse.c:2348,1
    - Dst: struct fuse_fs*::op::statx
      Src: /src/libfuse/lib/fuse.c:2351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - fs
    - path
    - flags
    - mask
    - stxbuf
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - int
    - int
    - struct statx*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2339
    functionDepth: 1
    functionLinenumber: 2339
    functionLinenumberEnd: 2355
    functionName: fuse_fs_statx
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::statx
    - fuse_log
    - file_info_string
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_statx(struct fuse_fs *fs, const char *path, int flags,
      int mask,\n\t\t  struct statx *stxbuf, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - fs
    - path
    - flags
    - mask
    - stxbuf
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - int
    - int
    - struct statx*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2368
    functionName: fuse_fs_statx
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_statx(struct fuse_fs *fs, const char *path, int flags,
      int mask,\n\t\t  struct statx *stxbuf, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:2375,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:2376,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - f
    - dir
    - name
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2371
    functionDepth: 2
    functionLinenumber: 2371
    functionLinenumberEnd: 2381
    functionName: is_open
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - lookup_node
    linkageType: ''
    returnType: int
    signature: int is_open(struct fuse *f, fuse_ino_t dir, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:2394,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:2395,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2397,1
    - Dst: snprintf
      Src: /src/libfuse/lib/fuse.c:2402,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:2404,1
    - Dst: try_get_path
      Src: /src/libfuse/lib/fuse.c:2407,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2408,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:2412,1
    - Dst: fuse_fs_getattr
      Src: /src/libfuse/lib/fuse.c:2413,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:2416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - f
    - dir
    - oldname
    - newname
    - bufsize
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2383
    functionDepth: 5
    functionLinenumber: 2383
    functionLinenumberEnd: 2421
    functionName: hidden_name
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - lookup_node
    - fuse_fs_getattr
    - pthread_mutex_unlock
    - memset
    - try_get_path
    - free
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *hidden_name(struct fuse *f, fuse_ino_t dir, const char *oldname,\n\t\t\t
      char *newname, size_t bufsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hidden_name
      Src: /src/libfuse/lib/fuse.c:2430,1
    - Dst: fuse_fs_rename
      Src: /src/libfuse/lib/fuse.c:2432,1
    - Dst: rename_node
      Src: /src/libfuse/lib/fuse.c:2434,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:2435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - f
    - oldpath
    - dir
    - oldname
    argTypes:
    - struct fuse*
    - char*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2423
    functionDepth: 6
    functionLinenumber: 2423
    functionLinenumberEnd: 2438
    functionName: hide_node
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_fs_rename
    - free
    - rename_node
    - hidden_name
    linkageType: ''
    returnType: int
    signature: "int hide_node(struct fuse *f, const char *oldpath,\n\t\t     fuse_ino_t
      dir, const char *oldname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ST_MTIM_NSEC
      Src: /src/libfuse/lib/fuse.c:2443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - stbuf
    - ts
    argTypes:
    - struct stat*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2440
    functionDepth: 1
    functionLinenumber: 2440
    functionLinenumberEnd: 2444
    functionName: mtime_eq
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - ST_MTIM_NSEC
    linkageType: ''
    returnType: int
    signature: int mtime_eq(const struct stat *stbuf, const struct timespec *ts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libfuse/lib/fuse.c:2453,1
    - Dst: clock_gettime
      Src: /src/libfuse/lib/fuse.c:2456,1
    - Dst: perror
      Src: /src/libfuse/lib/fuse.c:2459,1
    - Dst: abort
      Src: /src/libfuse/lib/fuse.c:2460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - now
    argTypes:
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2462
    functionName: curr_time
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - perror
    - clock_gettime
    - abort
    linkageType: ''
    returnType: void
    signature: void curr_time(struct timespec *now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtime_eq
      Src: /src/libfuse/lib/fuse.c:2466,1
    - Dst: ST_MTIM_NSEC
      Src: /src/libfuse/lib/fuse.c:2470,1
    - Dst: curr_time
      Src: /src/libfuse/lib/fuse.c:2472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - node
    - stbuf
    argTypes:
    - struct node*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2464
    functionDepth: 2
    functionLinenumber: 2464
    functionLinenumberEnd: 2473
    functionName: update_stat
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - ST_MTIM_NSEC
    - curr_time
    - mtime_eq
    linkageType: ''
    returnType: void
    signature: void update_stat(struct node *node, const struct stat *stbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_node
      Src: /src/libfuse/lib/fuse.c:2480,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:2489,1
    - Dst: update_stat
      Src: /src/libfuse/lib/fuse.c:2490,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2491,1
    - Dst: set_stat
      Src: /src/libfuse/lib/fuse.c:2493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - f
    - nodeid
    - name
    - e
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - struct fuse_entry_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2475
    functionDepth: 5
    functionLinenumber: 2475
    functionLinenumberEnd: 2495
    functionName: do_lookup
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - update_stat
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - set_stat
    - find_node
    linkageType: ''
    returnType: int
    signature: "int do_lookup(struct fuse *f, fuse_ino_t nodeid, const char *name,\n\t\t
      \    struct fuse_entry_param *e)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:2503,1
    - Dst: fuse_fs_getattr
      Src: /src/libfuse/lib/fuse.c:2504,1
    - Dst: do_lookup
      Src: /src/libfuse/lib/fuse.c:2506,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - f
    - nodeid
    - name
    - path
    - e
    - fi
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - char*
    - struct fuse_entry_param*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2497
    functionDepth: 2
    functionLinenumber: 2497
    functionLinenumberEnd: 2513
    functionName: lookup_path
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - memset
    - do_lookup
    - fuse_log
    - fuse_fs_getattr
    linkageType: ''
    returnType: int
    signature: "int lookup_path(struct fuse *f, fuse_ino_t nodeid,\n\t\t       const
      char *name, const char *path,\n\t\t       struct fuse_entry_param *e, struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/libfuse/lib/fuse.c:2517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2518
    functionName: fuse_get_context_internal
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_getspecific
    linkageType: ''
    returnType: struct fuse_context_i
    signature: struct fuse_context_i *fuse_get_context_internal(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context_internal
      Src: /src/libfuse/lib/fuse.c:2522,1
    - Dst: calloc
      Src: /src/libfuse/lib/fuse.c:2525,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2531,1
    - Dst: abort
      Src: /src/libfuse/lib/fuse.c:2532,1
    - Dst: pthread_setspecific
      Src: /src/libfuse/lib/fuse.c:2534,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:2536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2520
    functionDepth: 1
    functionLinenumber: 2520
    functionLinenumberEnd: 2541
    functionName: fuse_create_context
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_get_context_internal
    - memset
    - fuse_log
    - calloc
    - abort
    - pthread_setspecific
    linkageType: ''
    returnType: struct fuse_context_i
    signature: struct fuse_context_i *fuse_create_context(struct fuse *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:2545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2543
    functionDepth: 0
    functionLinenumber: 2543
    functionLinenumberEnd: 2546
    functionName: fuse_freecontext
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fuse_freecontext(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:2551,1
    - Dst: pthread_key_create
      Src: /src/libfuse/lib/fuse.c:2553,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2555,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse.c:2556,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2557,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2548
    functionDepth: 1
    functionLinenumber: 2548
    functionLinenumberEnd: 2564
    functionName: fuse_create_context_key
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - strerror
    - pthread_mutex_unlock
    - fuse_log
    - pthread_key_create
    linkageType: ''
    returnType: int
    signature: int fuse_create_context_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:2568,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:2571,1
    - Dst: pthread_getspecific
      Src: /src/libfuse/lib/fuse.c:2571,1
    - Dst: pthread_key_delete
      Src: /src/libfuse/lib/fuse.c:2572,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2575
    functionName: fuse_delete_context_key
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_getspecific
    - pthread_mutex_unlock
    - free
    - pthread_key_delete
    linkageType: ''
    returnType: void
    signature: void fuse_delete_context_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_create_context
      Src: /src/libfuse/lib/fuse.c:2579,1
    - Dst: req_fuse
      Src: /src/libfuse/lib/fuse.c:2579,1
    - Dst: fuse_req_ctx
      Src: /src/libfuse/lib/fuse.c:2580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2577
    functionDepth: 2
    functionLinenumber: 2577
    functionLinenumberEnd: 2587
    functionName: req_fuse_prepare
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - req_fuse
    - fuse_create_context
    - fuse_req_ctx
    linkageType: ''
    returnType: struct fuse
    signature: struct fuse *req_fuse_prepare(fuse_req_t req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/fuse.c:2592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - err
    argTypes:
    - fuse_req_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2589
    functionDepth: 6
    functionLinenumber: 2589
    functionLinenumberEnd: 2593
    functionName: reply_err
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 58
    functionsReached:
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: void reply_err(fuse_req_t req, int err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse
      Src: /src/libfuse/lib/fuse.c:2599,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/lib/fuse.c:2600,1
    - Dst: forget_node
      Src: /src/libfuse/lib/fuse.c:2603,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:2606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - req
    - e
    - err
    argTypes:
    - fuse_req_t
    - struct fuse_entry_param*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2595
    functionDepth: 7
    functionLinenumber: 2595
    functionLinenumberEnd: 2607
    functionName: reply_entry
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 3
    functionsReached:
    - req_fuse
    - forget_node
    - reply_err
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: "void reply_entry(fuse_req_t req, const struct fuse_entry_param *e,\n\t\t\tint
      err)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2612,1
    - Dst: fuse_unset_feature_flag
      Src: /src/libfuse/lib/fuse.c:2614,1
    - Dst: fuse_unset_feature_flag
      Src: /src/libfuse/lib/fuse.c:2616,1
    - Dst: fuse_unset_feature_flag
      Src: /src/libfuse/lib/fuse.c:2618,1
    - Dst: struct fuse_fs*::op::init
      Src: /src/libfuse/lib/fuse.c:2620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - fs
    - conn
    - cfg
    argTypes:
    - struct fuse_fs*
    - struct fuse_conn_info*
    - struct fuse_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2609
    functionDepth: 2
    functionLinenumber: 2609
    functionLinenumberEnd: 2621
    functionName: fuse_fs_init
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - fuse_unset_feature_flag
    - struct fuse_fs*::op::init
    - fuse_get_context
    linkageType: ''
    returnType: void
    signature: "void fuse_fs_init(struct fuse_fs *fs, struct fuse_conn_info *conn,\n\t\t
      \ struct fuse_config *cfg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_create_context
      Src: /src/libfuse/lib/fuse.c:2629,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/lib/fuse.c:2630,1
    - Dst: fuse_fs_init
      Src: /src/libfuse/lib/fuse.c:2631,1
    - Dst: fuse_init_intr_signal
      Src: /src/libfuse/lib/fuse.c:2634,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - void*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2625
    functionDepth: 3
    functionLinenumber: 2625
    functionLinenumberEnd: 2641
    functionName: fuse_lib_init
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_init_intr_signal
    - fuse_fs_init
    - fuse_set_feature_flag
    - fuse_log
    - fuse_create_context
    linkageType: ''
    returnType: void
    signature: void fuse_lib_init(void *data, struct fuse_conn_info *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2645,1
    - Dst: struct fuse_fs*::op::destroy
      Src: /src/libfuse/lib/fuse.c:2647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fs
    argTypes:
    - struct fuse_fs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2643
    functionDepth: 1
    functionLinenumber: 2643
    functionLinenumberEnd: 2648
    functionName: fuse_fs_destroy
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - struct fuse_fs*::op::destroy
    - fuse_get_context
    linkageType: ''
    returnType: void
    signature: void fuse_fs_destroy(struct fuse_fs *fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_create_context
      Src: /src/libfuse/lib/fuse.c:2654,1
    - Dst: fuse_fs_destroy
      Src: /src/libfuse/lib/fuse.c:2655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2650
    functionDepth: 2
    functionLinenumber: 2650
    functionLinenumberEnd: 2656
    functionName: fuse_lib_destroy
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_fs_destroy
    - fuse_create_context
    linkageType: ''
    returnType: void
    signature: void fuse_lib_destroy(void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:2661,1
    - Dst: strlen
      Src: /src/libfuse/lib/fuse.c:2668,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:2671,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2674,1
    - Dst: get_node_nocheck
      Src: /src/libfuse/lib/fuse.c:2675,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2677,1
    - Dst: reply_entry
      Src: /src/libfuse/lib/fuse.c:2678,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2684,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:2685,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2687,1
    - Dst: get_path_name
      Src: /src/libfuse/lib/fuse.c:2692,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2696,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:2697,1
    - Dst: lookup_path
      Src: /src/libfuse/lib/fuse.c:2698,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:2704,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:2705,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:2708,1
    - Dst: unref_node
      Src: /src/libfuse/lib/fuse.c:2709,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2710,1
    - Dst: reply_entry
      Src: /src/libfuse/lib/fuse.c:2712,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2658
    functionDepth: 10
    functionLinenumber: 2658
    functionLinenumberEnd: 2713
    functionName: fuse_lib_lookup
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - fuse_prepare_interrupt
    - pthread_mutex_lock
    - free_path
    - get_path_name
    - reply_entry
    - req_fuse_prepare
    - pthread_mutex_unlock
    - get_node_nocheck
    - strlen
    - fuse_log
    - unref_node
    - fuse_finish_interrupt
    - lookup_path
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_lookup(fuse_req_t req, fuse_ino_t parent,\n\t\t\t    const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2718,1
    - Dst: forget_node
      Src: /src/libfuse/lib/fuse.c:2720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - f
    - ino
    - nlookup
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2715
    functionDepth: 7
    functionLinenumber: 2715
    functionLinenumberEnd: 2721
    functionName: do_forget
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - forget_node
    - fuse_log
    linkageType: ''
    returnType: void
    signature: void do_forget(struct fuse *f, fuse_ino_t ino, uint64_t nlookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_forget
      Src: /src/libfuse/lib/fuse.c:2725,1
    - Dst: req_fuse
      Src: /src/libfuse/lib/fuse.c:2725,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/lib/fuse.c:2726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - ino
    - nlookup
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2723
    functionDepth: 4
    functionLinenumber: 2723
    functionLinenumberEnd: 2727
    functionName: fuse_lib_forget
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - req_fuse
    - do_forget
    - fuse_reply_none
    linkageType: ''
    returnType: void
    signature: void fuse_lib_forget(fuse_req_t req, fuse_ino_t ino, uint64_t nlookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse
      Src: /src/libfuse/lib/fuse.c:2732,1
    - Dst: do_forget
      Src: /src/libfuse/lib/fuse.c:2736,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/lib/fuse.c:2738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - req
    - count
    - forgets
    argTypes:
    - fuse_req_t
    - size_t
    - struct fuse_forget_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2729
    functionDepth: 4
    functionLinenumber: 2729
    functionLinenumberEnd: 2739
    functionName: fuse_lib_forget_multi
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - req_fuse
    - do_forget
    - fuse_reply_none
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_forget_multi(fuse_req_t req, size_t count,\n\t\t\t\t
      \ struct fuse_forget_data *forgets)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:2745,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:2750,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:2753,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:2755,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:2758,1
    - Dst: fuse_fs_getattr
      Src: /src/libfuse/lib/fuse.c:2759,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:2760,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:2761,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:2766,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:2767,1
    - Dst: update_stat
      Src: /src/libfuse/lib/fuse.c:2771,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2772,1
    - Dst: set_stat
      Src: /src/libfuse/lib/fuse.c:2773,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/lib/fuse.c:2774,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:2776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2742
    functionDepth: 10
    functionLinenumber: 2742
    functionLinenumberEnd: 2777
    functionName: fuse_lib_getattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - get_node
    - update_stat
    - fuse_prepare_interrupt
    - free_path
    - pthread_mutex_lock
    - reply_err
    - req_fuse_prepare
    - fuse_fs_getattr
    - memset
    - pthread_mutex_unlock
    - set_stat
    - fuse_reply_attr
    - fuse_finish_interrupt
    - get_path
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_getattr(fuse_req_t req, fuse_ino_t ino,\n\t\t\t     struct
      fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/fuse.c:2782,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:2789,1
    - Dst: file_info_string
      Src: /src/libfuse/lib/fuse.c:2790,1
    - Dst: struct fuse_fs*::op::chmod
      Src: /src/libfuse/lib/fuse.c:2793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fs
    - path
    - mode
    - fi
    argTypes:
    - struct fuse_fs*
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2794
      start: 2779
    functionDepth: 1
    functionLinenumber: 2779
    functionLinenumberEnd: 2794
    functionName: fuse_fs_chmod
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - file_info_string
    - struct fuse_fs*::op::chmod
    - fuse_get_context
    linkageType: ''
    returnType: int
    signature: "int fuse_fs_chmod(struct fuse_fs *fs, const char *path, mode_t mode,\n\t\t
      \ struct fuse_file_info *fi)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:2799,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:2804,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:2806,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:2808,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:2811,1
    - Dst: fuse_fs_chmod
      Src: /src/libfuse/lib/fuse.c:2814,1
    - Dst: fuse_fs_chown
      Src: /src/libfuse/lib/fuse.c:2820,1
    - Dst: fuse_fs_truncate
      Src: /src/libfuse/lib/fuse.c:2823,1
    - Dst: fuse_fs_utimens
      Src: /src/libfuse/lib/fuse.c:2846,1
    - Dst: ST_ATIM_NSEC
      Src: /src/libfuse/lib/fuse.c:2854,1
    - Dst: ST_MTIM_NSEC
      Src: /src/libfuse/lib/fuse.c:2856,1
    - Dst: fuse_fs_utimens
      Src: /src/libfuse/lib/fuse.c:2857,1
    - Dst: fuse_fs_getattr
      Src: /src/libfuse/lib/fuse.c:2860,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:2862,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:2863,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:2867,1
    - Dst: update_stat
      Src: /src/libfuse/lib/fuse.c:2868,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:2868,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:2869,1
    - Dst: set_stat
      Src: /src/libfuse/lib/fuse.c:2871,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/lib/fuse.c:2872,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:2874,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 5
    argNames:
    - req
    - ino
    - attr
    - valid
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct stat*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2796
    functionDepth: 10
    functionLinenumber: 2796
    functionLinenumberEnd: 2875
    functionName: fuse_lib_setattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - ST_MTIM_NSEC
    - get_node
    - fuse_prepare_interrupt
    - fuse_fs_getattr
    - free_path
    - fuse_fs_chmod
    - pthread_mutex_lock
    - reply_err
    - fuse_fs_truncate
    - ST_ATIM_NSEC
    - fuse_reply_attr
    - fuse_finish_interrupt
    - get_path_nullok
    - update_stat
    - req_fuse_prepare
    - memset
    - pthread_mutex_unlock
    - set_stat
    - fuse_fs_chown
    - fuse_fs_utimens
    - get_path
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_setattr(fuse_req_t req, fuse_ino_t ino, struct stat
      *attr,\n\t\t\t     int valid, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:2879,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:2883,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:2887,1
    - Dst: fuse_fs_access
      Src: /src/libfuse/lib/fuse.c:2888,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:2889,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:2890,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:2892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - req
    - ino
    - mask
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2877
    functionDepth: 10
    functionLinenumber: 2877
    functionLinenumberEnd: 2893
    functionName: fuse_lib_access
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - req_fuse_prepare
    - fuse_finish_interrupt
    - fuse_fs_access
    - get_path
    linkageType: ''
    returnType: void
    signature: void fuse_lib_access(fuse_req_t req, fuse_ino_t ino, int mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:2897,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:2902,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:2905,1
    - Dst: fuse_fs_readlink
      Src: /src/libfuse/lib/fuse.c:2906,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:2907,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:2908,1
    - Dst: fuse_reply_readlink
      Src: /src/libfuse/lib/fuse.c:2912,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:2914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - req
    - ino
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2915
      start: 2895
    functionDepth: 10
    functionLinenumber: 2895
    functionLinenumberEnd: 2915
    functionName: fuse_lib_readlink
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - fuse_reply_readlink
    - req_fuse_prepare
    - fuse_fs_readlink
    - fuse_finish_interrupt
    - get_path
    linkageType: ''
    returnType: void
    signature: void fuse_lib_readlink(fuse_req_t req, fuse_ino_t ino)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:2920,1
    - Dst: get_path_name
      Src: /src/libfuse/lib/fuse.c:2925,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:2929,1
    - Dst: S_ISREG
      Src: /src/libfuse/lib/fuse.c:2931,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:2934,1
    - Dst: fuse_fs_create
      Src: /src/libfuse/lib/fuse.c:2936,1
    - Dst: lookup_path
      Src: /src/libfuse/lib/fuse.c:2938,1
    - Dst: fuse_fs_release
      Src: /src/libfuse/lib/fuse.c:2940,1
    - Dst: fuse_fs_mknod
      Src: /src/libfuse/lib/fuse.c:2944,1
    - Dst: lookup_path
      Src: /src/libfuse/lib/fuse.c:2946,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:2949,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:2950,1
    - Dst: reply_entry
      Src: /src/libfuse/lib/fuse.c:2952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - req
    - parent
    - name
    - mode
    - rdev
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    - dev_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2917
    functionDepth: 10
    functionLinenumber: 2917
    functionLinenumberEnd: 2953
    functionName: fuse_lib_mknod
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_fs_release
    - fuse_prepare_interrupt
    - free_path
    - get_path_name
    - reply_entry
    - req_fuse_prepare
    - memset
    - fuse_fs_mknod
    - fuse_fs_create
    - fuse_finish_interrupt
    - lookup_path
    - S_ISREG
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_mknod(fuse_req_t req, fuse_ino_t parent, const char
      *name,\n\t\t\t   mode_t mode, dev_t rdev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:2958,1
    - Dst: get_path_name
      Src: /src/libfuse/lib/fuse.c:2963,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:2967,1
    - Dst: fuse_fs_mkdir
      Src: /src/libfuse/lib/fuse.c:2968,1
    - Dst: lookup_path
      Src: /src/libfuse/lib/fuse.c:2970,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:2971,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:2972,1
    - Dst: reply_entry
      Src: /src/libfuse/lib/fuse.c:2974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - req
    - parent
    - name
    - mode
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2955
    functionDepth: 10
    functionLinenumber: 2955
    functionLinenumberEnd: 2975
    functionName: fuse_lib_mkdir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - free_path
    - get_path_name
    - reply_entry
    - req_fuse_prepare
    - fuse_fs_mkdir
    - fuse_finish_interrupt
    - lookup_path
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_mkdir(fuse_req_t req, fuse_ino_t parent, const char
      *name,\n\t\t\t   mode_t mode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:2980,1
    - Dst: get_path_wrlock
      Src: /src/libfuse/lib/fuse.c:2985,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:2989,1
    - Dst: is_open
      Src: /src/libfuse/lib/fuse.c:2990,1
    - Dst: hide_node
      Src: /src/libfuse/lib/fuse.c:2991,1
    - Dst: is_open
      Src: /src/libfuse/lib/fuse.c:2994,1
    - Dst: try_get_path
      Src: /src/libfuse/lib/fuse.c:2998,1
    - Dst: fuse_fs_unlink
      Src: /src/libfuse/lib/fuse.c:2999,1
    - Dst: remove_node
      Src: /src/libfuse/lib/fuse.c:3001,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3002,1
    - Dst: fuse_fs_unlink
      Src: /src/libfuse/lib/fuse.c:3007,1
    - Dst: remove_node
      Src: /src/libfuse/lib/fuse.c:3009,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3011,1
    - Dst: free_path_wrlock
      Src: /src/libfuse/lib/fuse.c:3012,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3014,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 2977
    functionDepth: 9
    functionLinenumber: 2977
    functionLinenumberEnd: 3015
    functionName: fuse_lib_unlink
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - remove_node
    - reply_err
    - fuse_fs_unlink
    - req_fuse_prepare
    - get_path_wrlock
    - try_get_path
    - free
    - is_open
    - fuse_finish_interrupt
    - hide_node
    - free_path_wrlock
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_unlink(fuse_req_t req, fuse_ino_t parent,\n\t\t\t    const
      char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3019,1
    - Dst: get_path_wrlock
      Src: /src/libfuse/lib/fuse.c:3024,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3028,1
    - Dst: fuse_fs_rmdir
      Src: /src/libfuse/lib/fuse.c:3029,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3030,1
    - Dst: remove_node
      Src: /src/libfuse/lib/fuse.c:3032,1
    - Dst: free_path_wrlock
      Src: /src/libfuse/lib/fuse.c:3033,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3036
      start: 3017
    functionDepth: 9
    functionLinenumber: 3017
    functionLinenumberEnd: 3036
    functionName: fuse_lib_rmdir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - remove_node
    - fuse_fs_rmdir
    - reply_err
    - req_fuse_prepare
    - get_path_wrlock
    - fuse_finish_interrupt
    - free_path_wrlock
    linkageType: ''
    returnType: void
    signature: void fuse_lib_rmdir(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3041,1
    - Dst: get_path_name
      Src: /src/libfuse/lib/fuse.c:3046,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3050,1
    - Dst: fuse_fs_symlink
      Src: /src/libfuse/lib/fuse.c:3051,1
    - Dst: lookup_path
      Src: /src/libfuse/lib/fuse.c:3053,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3054,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3055,1
    - Dst: reply_entry
      Src: /src/libfuse/lib/fuse.c:3057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - req
    - linkname
    - parent
    - name
    argTypes:
    - fuse_req_t
    - char*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 3038
    functionDepth: 10
    functionLinenumber: 3038
    functionLinenumberEnd: 3058
    functionName: fuse_lib_symlink
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - free_path
    - fuse_fs_symlink
    - get_path_name
    - reply_entry
    - req_fuse_prepare
    - fuse_finish_interrupt
    - lookup_path
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_symlink(fuse_req_t req, const char *linkname,\n\t\t\t
      \    fuse_ino_t parent, const char *name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3064,1
    - Dst: get_path2
      Src: /src/libfuse/lib/fuse.c:3071,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3076,1
    - Dst: is_open
      Src: /src/libfuse/lib/fuse.c:3078,1
    - Dst: hide_node
      Src: /src/libfuse/lib/fuse.c:3079,1
    - Dst: fuse_fs_rename
      Src: /src/libfuse/lib/fuse.c:3081,1
    - Dst: exchange_node
      Src: /src/libfuse/lib/fuse.c:3084,1
    - Dst: rename_node
      Src: /src/libfuse/lib/fuse.c:3087,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3092,1
    - Dst: free_path2
      Src: /src/libfuse/lib/fuse.c:3093,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3095,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - req
    - olddir
    - oldname
    - newdir
    - newname
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - fuse_ino_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3096
      start: 3060
    functionDepth: 9
    functionLinenumber: 3060
    functionLinenumberEnd: 3096
    functionName: fuse_lib_rename
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_fs_rename
    - exchange_node
    - fuse_prepare_interrupt
    - rename_node
    - reply_err
    - req_fuse_prepare
    - fuse_finish_interrupt
    - is_open
    - free_path2
    - get_path2
    - hide_node
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_rename(fuse_req_t req, fuse_ino_t olddir,\n\t\t\t    const
      char *oldname, fuse_ino_t newdir,\n\t\t\t    const char *newname, unsigned int
      flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3101,1
    - Dst: get_path2
      Src: /src/libfuse/lib/fuse.c:3107,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3112,1
    - Dst: fuse_fs_link
      Src: /src/libfuse/lib/fuse.c:3113,1
    - Dst: lookup_path
      Src: /src/libfuse/lib/fuse.c:3115,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3117,1
    - Dst: free_path2
      Src: /src/libfuse/lib/fuse.c:3118,1
    - Dst: reply_entry
      Src: /src/libfuse/lib/fuse.c:3120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - req
    - ino
    - newparent
    - newname
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3098
    functionDepth: 9
    functionLinenumber: 3098
    functionLinenumberEnd: 3121
    functionName: fuse_lib_link
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - reply_entry
    - req_fuse_prepare
    - fuse_fs_link
    - lookup_path
    - free_path2
    - fuse_finish_interrupt
    - get_path2
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_link(fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,\n\t\t\t
      \ const char *newname)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fuse_fs_release
      Src: /src/libfuse/lib/fuse.c:3129,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:3131,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:3132,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:3133,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:3139,1
    - Dst: fuse_fs_unlink
      Src: /src/libfuse/lib/fuse.c:3143,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:3147,1
    - Dst: fuse_fs_unlink
      Src: /src/libfuse/lib/fuse.c:3148,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - f
    - ino
    - path
    - fi
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - struct fuse_file_info*
    assertStmts:
    - condition: (node->open_count > 0)
      pos:
        line_end: 3132
        line_start: 3132
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 3153
      start: 3123
    functionDepth: 10
    functionLinenumber: 3123
    functionLinenumberEnd: 3153
    functionName: fuse_do_release
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - fuse_fs_release
    - pthread_mutex_lock
    - assert
    - free_path
    - fuse_fs_unlink
    - pthread_mutex_unlock
    - get_path
    linkageType: ''
    returnType: void
    signature: "void fuse_do_release(struct fuse *f, fuse_ino_t ino, const char *path,\n\t\t\t
      \   struct fuse_file_info *fi)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3159,1
    - Dst: get_path_name
      Src: /src/libfuse/lib/fuse.c:3165,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3167,1
    - Dst: fuse_fs_create
      Src: /src/libfuse/lib/fuse.c:3168,1
    - Dst: lookup_path
      Src: /src/libfuse/lib/fuse.c:3170,1
    - Dst: fuse_fs_release
      Src: /src/libfuse/lib/fuse.c:3172,1
    - Dst: S_ISREG
      Src: /src/libfuse/lib/fuse.c:3173,1
    - Dst: fuse_fs_release
      Src: /src/libfuse/lib/fuse.c:3175,1
    - Dst: forget_node
      Src: /src/libfuse/lib/fuse.c:3176,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3187,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:3190,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:3191,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:3192,1
    - Dst: fuse_reply_create
      Src: /src/libfuse/lib/fuse.c:3193,1
    - Dst: fuse_do_release
      Src: /src/libfuse/lib/fuse.c:3196,1
    - Dst: forget_node
      Src: /src/libfuse/lib/fuse.c:3197,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3200,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - req
    - parent
    - name
    - mode
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3155
    functionDepth: 11
    functionLinenumber: 3155
    functionLinenumberEnd: 3204
    functionName: fuse_lib_create
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - fuse_fs_release
    - fuse_prepare_interrupt
    - pthread_mutex_lock
    - reply_err
    - free_path
    - get_path_name
    - fuse_reply_create
    - forget_node
    - fuse_do_release
    - req_fuse_prepare
    - pthread_mutex_unlock
    - fuse_fs_create
    - fuse_finish_interrupt
    - lookup_path
    - S_ISREG
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_create(fuse_req_t req, fuse_ino_t parent,\n\t\t\t    const
      char *name, mode_t mode,\n\t\t\t    struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - struct timespec*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3206
    functionDepth: 0
    functionLinenumber: 3206
    functionLinenumberEnd: 3211
    functionName: diff_timespec
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double diff_timespec(const struct timespec *t1,\n\t\t\t    const struct
      timespec *t2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:3218,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:3219,1
    - Dst: curr_time
      Src: /src/libfuse/lib/fuse.c:3223,1
    - Dst: diff_timespec
      Src: /src/libfuse/lib/fuse.c:3224,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:3228,1
    - Dst: fuse_fs_getattr
      Src: /src/libfuse/lib/fuse.c:3229,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:3230,1
    - Dst: update_stat
      Src: /src/libfuse/lib/fuse.c:3232,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:3241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - f
    - ino
    - path
    - fi
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3213
    functionDepth: 3
    functionLinenumber: 3213
    functionLinenumberEnd: 3242
    functionName: open_auto_cache
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - update_stat
    - pthread_mutex_lock
    - fuse_fs_getattr
    - pthread_mutex_unlock
    - curr_time
    - diff_timespec
    linkageType: ''
    returnType: void
    signature: "void open_auto_cache(struct fuse *f, fuse_ino_t ino, const char *path,\n\t\t\t
      \   struct fuse_file_info *fi)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3247,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:3252,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3254,1
    - Dst: fuse_fs_open
      Src: /src/libfuse/lib/fuse.c:3255,1
    - Dst: open_auto_cache
      Src: /src/libfuse/lib/fuse.c:3263,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3273,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:3276,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:3277,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:3278,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/lib/fuse.c:3279,1
    - Dst: fuse_do_release
      Src: /src/libfuse/lib/fuse.c:3282,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3285,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3287,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3244
    functionDepth: 11
    functionLinenumber: 3244
    functionLinenumberEnd: 3288
    functionName: fuse_lib_open
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - fuse_prepare_interrupt
    - fuse_reply_open
    - pthread_mutex_lock
    - reply_err
    - free_path
    - req_fuse_prepare
    - pthread_mutex_unlock
    - fuse_do_release
    - fuse_finish_interrupt
    - fuse_fs_open
    - get_path
    - open_auto_cache
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_open(fuse_req_t req, fuse_ino_t ino,\n\t\t\t  struct
      fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3293,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:3298,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3302,1
    - Dst: fuse_fs_read_buf
      Src: /src/libfuse/lib/fuse.c:3303,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3304,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3305,1
    - Dst: fuse_reply_data
      Src: /src/libfuse/lib/fuse.c:3309,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3311,1
    - Dst: fuse_free_buf
      Src: /src/libfuse/lib/fuse.c:3313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3314
      start: 3290
    functionDepth: 10
    functionLinenumber: 3290
    functionLinenumberEnd: 3314
    functionName: fuse_lib_read
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_free_buf
    - fuse_prepare_interrupt
    - free_path
    - fuse_fs_read_buf
    - reply_err
    - fuse_reply_data
    - req_fuse_prepare
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_read(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t
      \ off_t off, struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3320,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:3324,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3328,1
    - Dst: fuse_fs_write_buf
      Src: /src/libfuse/lib/fuse.c:3329,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3330,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3331,1
    - Dst: fuse_reply_write
      Src: /src/libfuse/lib/fuse.c:3335,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - req
    - ino
    - buf
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_bufvec*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3338
      start: 3316
    functionDepth: 10
    functionLinenumber: 3316
    functionLinenumberEnd: 3338
    functionName: fuse_lib_write_buf
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - fuse_reply_write
    - fuse_fs_write_buf
    - req_fuse_prepare
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_write_buf(fuse_req_t req, fuse_ino_t ino,\n\t\t\t       struct
      fuse_bufvec *buf, off_t off,\n\t\t\t       struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3343,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:3347,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3351,1
    - Dst: fuse_fs_fsync
      Src: /src/libfuse/lib/fuse.c:3352,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3353,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3354,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - req
    - ino
    - datasync
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3340
    functionDepth: 10
    functionLinenumber: 3340
    functionLinenumberEnd: 3357
    functionName: fuse_lib_fsync
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - req_fuse_prepare
    - fuse_fs_fsync
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_fsync(fuse_req_t req, fuse_ino_t ino, int datasync,\n\t\t\t
      \  struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:3363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - llfi
    - fi
    argTypes:
    - struct fuse_file_info*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3359
    functionDepth: 0
    functionLinenumber: 3359
    functionLinenumberEnd: 3366
    functionName: get_dirhandle
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: struct fuse_dh
    signature: "struct fuse_dh *get_dirhandle(const struct fuse_file_info *llfi,\n\t\t\t\t
      \    struct fuse_file_info *fi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3371,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:3378,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3380,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:3383,1
    - Dst: pthread_mutex_init
      Src: /src/libfuse/lib/fuse.c:3390,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:3394,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:3397,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3399,1
    - Dst: fuse_fs_opendir
      Src: /src/libfuse/lib/fuse.c:3400,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3401,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/lib/fuse.c:3407,1
    - Dst: fuse_fs_releasedir
      Src: /src/libfuse/lib/fuse.c:3410,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse.c:3411,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3412,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3415,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse.c:3416,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3417,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 3
    argNames:
    - req
    - ino
    - llfi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3368
    functionDepth: 10
    functionLinenumber: 3368
    functionLinenumberEnd: 3420
    functionName: fuse_lib_opendir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - malloc
    - fuse_prepare_interrupt
    - fuse_reply_open
    - reply_err
    - fuse_fs_opendir
    - free_path
    - req_fuse_prepare
    - memset
    - pthread_mutex_destroy
    - free
    - fuse_fs_releasedir
    - pthread_mutex_init
    - fuse_finish_interrupt
    - get_path
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_opendir(fuse_req_t req, fuse_ino_t ino,\n\t\t\t     struct
      fuse_file_info *llfi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libfuse/lib/fuse.c:3436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - dh
    - minsize
    argTypes:
    - struct fuse_dh*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3445
      start: 3422
    functionDepth: 0
    functionLinenumber: 3422
    functionLinenumberEnd: 3445
    functionName: extend_contents
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int extend_contents(struct fuse_dh *dh, unsigned minsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:3452,1
    - Dst: strdup
      Src: /src/libfuse/lib/fuse.c:3457,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - dh
    - name
    - st
    - flags
    argTypes:
    - struct fuse_dh*
    - char*
    - struct stat*
    - enum fuse_fill_dir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3471
      start: 3447
    functionDepth: 0
    functionLinenumber: 3447
    functionLinenumberEnd: 3471
    functionName: fuse_add_direntry_to_dh
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - malloc
    - strdup
    - free
    linkageType: ''
    returnType: int
    signature: "int fuse_add_direntry_to_dh(struct fuse_dh *dh, const char *name,\n\t\t\t\t
      \  struct stat *st, enum fuse_fill_dir_flags flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:3479,1
    - Dst: lookup_node
      Src: /src/libfuse/lib/fuse.c:3480,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:3483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - f
    - parent
    - name
    argTypes:
    - struct fuse*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3486
      start: 3473
    functionDepth: 2
    functionLinenumber: 3473
    functionLinenumberEnd: 3486
    functionName: lookup_nodeid
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - lookup_node
    linkageType: ''
    returnType: fuse_ino_t
    signature: "fuse_ino_t lookup_nodeid(struct fuse *f, fuse_ino_t parent,\n\t\t\t\tconst
      char *name)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:3502,1
    - Dst: lookup_nodeid
      Src: /src/libfuse/lib/fuse.c:3510,1
    - Dst: extend_contents
      Src: /src/libfuse/lib/fuse.c:3527,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/lib/fuse.c:3531,1
    - Dst: fuse_add_direntry_to_dh
      Src: /src/libfuse/lib/fuse.c:3541,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - dh_
    - name
    - statp
    - 'off'
    - flags
    argTypes:
    - void*
    - char*
    - struct stat*
    - off_t
    - enum fuse_fill_dir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3545
      start: 3488
    functionDepth: 3
    functionLinenumber: 3488
    functionLinenumberEnd: 3545
    functionName: fill_dir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_add_direntry
    - fuse_add_direntry_to_dh
    - extend_contents
    - memset
    - lookup_nodeid
    linkageType: ''
    returnType: int
    signature: "int fill_dir(void *dh_, const char *name, const struct stat *statp,\n\t\t
      \   off_t off, enum fuse_fill_dir_flags flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3551
      start: 3547
    functionDepth: 0
    functionLinenumber: 3547
    functionLinenumberEnd: 3551
    functionName: is_dot_or_dotdot
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_dot_or_dotdot(const char *name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: lookup_nodeid
      Src: /src/libfuse/lib/fuse.c:3580,1
    - Dst: extend_contents
      Src: /src/libfuse/lib/fuse.c:3596,1
    - Dst: is_dot_or_dotdot
      Src: /src/libfuse/lib/fuse.c:3600,1
    - Dst: do_lookup
      Src: /src/libfuse/lib/fuse.c:3601,1
    - Dst: fuse_add_direntry_plus
      Src: /src/libfuse/lib/fuse.c:3610,1
    - Dst: fuse_add_direntry_to_dh
      Src: /src/libfuse/lib/fuse.c:3619,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 5
    argNames:
    - dh_
    - name
    - statp
    - 'off'
    - flags
    argTypes:
    - void*
    - char*
    - struct stat*
    - off_t
    - enum fuse_fill_dir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3624
      start: 3553
    functionDepth: 4
    functionLinenumber: 3553
    functionLinenumberEnd: 3624
    functionName: fill_dir_plus
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_add_direntry_plus
    - fuse_add_direntry_to_dh
    - is_dot_or_dotdot
    - extend_contents
    - do_lookup
    - lookup_nodeid
    linkageType: ''
    returnType: int
    signature: "int fill_dir_plus(void *dh_, const char *name, const struct stat *statp,\n\t\t\t
      off_t off, enum fuse_fill_dir_flags flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3630,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - de
    argTypes:
    - struct fuse_direntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3626
    functionDepth: 0
    functionLinenumber: 3626
    functionLinenumberEnd: 3634
    functionName: free_direntries
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_direntries(struct fuse_direntry *de)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:3645,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:3647,1
    - Dst: free_direntries
      Src: /src/libfuse/lib/fuse.c:3655,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3663,1
    - Dst: fuse_fs_readdir
      Src: /src/libfuse/lib/fuse.c:3664,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3665,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3671,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 8
    argNames:
    - f
    - req
    - ino
    - size
    - 'off'
    - dh
    - fi
    - flags
    argTypes:
    - struct fuse*
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_dh*
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3674
      start: 3636
    functionDepth: 10
    functionLinenumber: 3636
    functionLinenumberEnd: 3674
    functionName: readdir_fill
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - free_direntries
    - fuse_prepare_interrupt
    - free_path
    - fuse_fs_readdir
    - fuse_finish_interrupt
    - get_path
    linkageType: ''
    returnType: int
    signature: "int readdir_fill(struct fuse *f, fuse_req_t req, fuse_ino_t ino,\n\t\t\tsize_t
      size, off_t off, struct fuse_dh *dh,\n\t\t\tstruct fuse_file_info *fi,\n\t\t\tenum
      fuse_readdir_flags flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: extend_contents
      Src: /src/libfuse/lib/fuse.c:3685,1
    - Dst: is_dot_or_dotdot
      Src: /src/libfuse/lib/fuse.c:3708,1
    - Dst: do_lookup
      Src: /src/libfuse/lib/fuse.c:3709,1
    - Dst: fuse_add_direntry_plus
      Src: /src/libfuse/lib/fuse.c:3717,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/lib/fuse.c:3720,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - req
    - dh
    - 'off'
    - flags
    argTypes:
    - fuse_req_t
    - struct fuse_dh*
    - off_t
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3676
    functionDepth: 4
    functionLinenumber: 3676
    functionLinenumberEnd: 3730
    functionName: readdir_fill_from_list
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_add_direntry_plus
    - fuse_add_direntry
    - is_dot_or_dotdot
    - extend_contents
    - do_lookup
    linkageType: ''
    returnType: int
    signature: "int readdir_fill_from_list(fuse_req_t req, struct fuse_dh *dh,\n\t\t\t\t
      \ off_t off, enum fuse_readdir_flags flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3736,1
    - Dst: get_dirhandle
      Src: /src/libfuse/lib/fuse.c:3738,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:3741,1
    - Dst: readdir_fill
      Src: /src/libfuse/lib/fuse.c:3748,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3750,1
    - Dst: readdir_fill_from_list
      Src: /src/libfuse/lib/fuse.c:3756,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3758,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/lib/fuse.c:3762,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:3764,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - req
    - ino
    - size
    - 'off'
    - llfi
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3765
      start: 3732
    functionDepth: 11
    functionLinenumber: 3732
    functionLinenumberEnd: 3765
    functionName: fuse_readdir_common
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - reply_err
    - pthread_mutex_lock
    - readdir_fill
    - fuse_reply_buf
    - req_fuse_prepare
    - get_dirhandle
    - readdir_fill_from_list
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void fuse_readdir_common(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t\toff_t
      off, struct fuse_file_info *llfi,\n\t\t\t\tenum fuse_readdir_flags flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_readdir_common
      Src: /src/libfuse/lib/fuse.c:3770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - llfi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3771
      start: 3767
    functionDepth: 12
    functionLinenumber: 3767
    functionLinenumberEnd: 3771
    functionName: fuse_lib_readdir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_readdir_common
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t
      \    off_t off, struct fuse_file_info *llfi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_readdir_common
      Src: /src/libfuse/lib/fuse.c:3776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - llfi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3777
      start: 3773
    functionDepth: 12
    functionLinenumber: 3773
    functionLinenumberEnd: 3777
    functionName: fuse_lib_readdirplus
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_readdir_common
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_readdirplus(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t\t
      \ off_t off, struct fuse_file_info *llfi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3782,1
    - Dst: get_dirhandle
      Src: /src/libfuse/lib/fuse.c:3785,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:3788,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3790,1
    - Dst: fuse_fs_releasedir
      Src: /src/libfuse/lib/fuse.c:3791,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3792,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3793,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:3795,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:3796,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse.c:3797,1
    - Dst: free_direntries
      Src: /src/libfuse/lib/fuse.c:3798,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3799,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3800,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - req
    - ino
    - llfi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3779
    functionDepth: 10
    functionLinenumber: 3779
    functionLinenumberEnd: 3802
    functionName: fuse_lib_releasedir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - free_direntries
    - fuse_prepare_interrupt
    - free_path
    - pthread_mutex_lock
    - reply_err
    - req_fuse_prepare
    - get_dirhandle
    - pthread_mutex_unlock
    - pthread_mutex_destroy
    - free
    - fuse_fs_releasedir
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_releasedir(fuse_req_t req, fuse_ino_t ino,\n\t\t\t\tstruct
      fuse_file_info *llfi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3807,1
    - Dst: get_dirhandle
      Src: /src/libfuse/lib/fuse.c:3812,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:3814,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3817,1
    - Dst: fuse_fs_fsyncdir
      Src: /src/libfuse/lib/fuse.c:3818,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3819,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3820,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - req
    - ino
    - datasync
    - llfi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3823
      start: 3804
    functionDepth: 10
    functionLinenumber: 3804
    functionLinenumberEnd: 3823
    functionName: fuse_lib_fsyncdir
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - req_fuse_prepare
    - get_dirhandle
    - fuse_fs_fsyncdir
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_fsyncdir(fuse_req_t req, fuse_ino_t ino, int datasync,\n\t\t\t
      \     struct fuse_file_info *llfi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3827,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:3832,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:3834,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3838,1
    - Dst: fuse_fs_statfs
      Src: /src/libfuse/lib/fuse.c:3839,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3840,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3841,1
    - Dst: fuse_reply_statfs
      Src: /src/libfuse/lib/fuse.c:3845,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - req
    - ino
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3848
      start: 3825
    functionDepth: 10
    functionLinenumber: 3825
    functionLinenumberEnd: 3848
    functionName: fuse_lib_statfs
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - fuse_reply_statfs
    - free_path
    - reply_err
    - fuse_fs_statfs
    - req_fuse_prepare
    - memset
    - fuse_finish_interrupt
    - get_path
    linkageType: ''
    returnType: void
    signature: void fuse_lib_statfs(fuse_req_t req, fuse_ino_t ino)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3853,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:3857,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3860,1
    - Dst: fuse_fs_setxattr
      Src: /src/libfuse/lib/fuse.c:3861,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3862,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3863,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - req
    - ino
    - name
    - value
    - size
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3866
      start: 3850
    functionDepth: 10
    functionLinenumber: 3850
    functionLinenumberEnd: 3866
    functionName: fuse_lib_setxattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - req_fuse_prepare
    - fuse_finish_interrupt
    - get_path
    - fuse_fs_setxattr
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_setxattr(fuse_req_t req, fuse_ino_t ino, const char
      *name,\n\t\t\t      const char *value, size_t size, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:3874,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3877,1
    - Dst: fuse_fs_getxattr
      Src: /src/libfuse/lib/fuse.c:3878,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3879,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - f
    - req
    - ino
    - name
    - value
    - size
    argTypes:
    - struct fuse*
    - fuse_req_t
    - fuse_ino_t
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3883
      start: 3868
    functionDepth: 10
    functionLinenumber: 3868
    functionLinenumberEnd: 3883
    functionName: common_getxattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - free_path
    - fuse_finish_interrupt
    - fuse_fs_getxattr
    - get_path
    linkageType: ''
    returnType: int
    signature: "int common_getxattr(struct fuse *f, fuse_req_t req, fuse_ino_t ino,\n\t\t\t
      \  const char *name, char *value, size_t size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3888,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:3892,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3894,1
    - Dst: common_getxattr
      Src: /src/libfuse/lib/fuse.c:3897,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/lib/fuse.c:3899,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3901,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3902,1
    - Dst: common_getxattr
      Src: /src/libfuse/lib/fuse.c:3904,1
    - Dst: fuse_reply_xattr
      Src: /src/libfuse/lib/fuse.c:3906,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - req
    - ino
    - name
    - size
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3910
      start: 3885
    functionDepth: 11
    functionLinenumber: 3885
    functionLinenumberEnd: 3910
    functionName: fuse_lib_getxattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - malloc
    - reply_err
    - common_getxattr
    - fuse_reply_buf
    - req_fuse_prepare
    - free
    - fuse_reply_xattr
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_getxattr(fuse_req_t req, fuse_ino_t ino, const char
      *name,\n\t\t\t      size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:3918,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3921,1
    - Dst: fuse_fs_listxattr
      Src: /src/libfuse/lib/fuse.c:3922,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3923,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - f
    - req
    - ino
    - list
    - size
    argTypes:
    - struct fuse*
    - fuse_req_t
    - fuse_ino_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3927
      start: 3912
    functionDepth: 10
    functionLinenumber: 3912
    functionLinenumberEnd: 3927
    functionName: common_listxattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - free_path
    - fuse_fs_listxattr
    - fuse_finish_interrupt
    - get_path
    linkageType: ''
    returnType: int
    signature: "int common_listxattr(struct fuse *f, fuse_req_t req, fuse_ino_t ino,\n\t\t\t
      \   char *list, size_t size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3931,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:3935,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3937,1
    - Dst: common_listxattr
      Src: /src/libfuse/lib/fuse.c:3940,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/lib/fuse.c:3942,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3944,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3945,1
    - Dst: common_listxattr
      Src: /src/libfuse/lib/fuse.c:3947,1
    - Dst: fuse_reply_xattr
      Src: /src/libfuse/lib/fuse.c:3949,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - req
    - ino
    - size
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3953
      start: 3929
    functionDepth: 11
    functionLinenumber: 3929
    functionLinenumberEnd: 3953
    functionName: fuse_lib_listxattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - malloc
    - reply_err
    - common_listxattr
    - fuse_reply_buf
    - req_fuse_prepare
    - free
    - fuse_reply_xattr
    linkageType: ''
    returnType: void
    signature: void fuse_lib_listxattr(fuse_req_t req, fuse_ino_t ino, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:3958,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:3962,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:3965,1
    - Dst: fuse_fs_removexattr
      Src: /src/libfuse/lib/fuse.c:3966,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:3967,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:3968,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:3970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - req
    - ino
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3971
      start: 3955
    functionDepth: 10
    functionLinenumber: 3955
    functionLinenumberEnd: 3971
    functionName: fuse_lib_removexattr
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - req_fuse_prepare
    - fuse_fs_removexattr
    - fuse_finish_interrupt
    - get_path
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_removexattr(fuse_req_t req, fuse_ino_t ino,\n\t\t\t\t
      const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - node
    - lock
    argTypes:
    - struct node*
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3984
      start: 3973
    functionDepth: 0
    functionLinenumber: 3973
    functionLinenumberEnd: 3984
    functionName: locks_conflict
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct lock
    signature: struct lock *locks_conflict(struct node *node, const struct lock *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:3990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lockp
    argTypes:
    - struct lock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3986
    functionDepth: 0
    functionLinenumber: 3986
    functionLinenumberEnd: 3991
    functionName: delete_lock
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void delete_lock(struct lock **lockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pos
    - lock
    argTypes:
    - struct lock**
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3997
      start: 3993
    functionDepth: 0
    functionLinenumber: 3993
    functionLinenumberEnd: 3997
    functionName: insert_lock
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void insert_lock(struct lock **pos, struct lock *lock)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:4007,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:4008,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:4011,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:4012,1
    - Dst: insert_lock
      Src: /src/libfuse/lib/fuse.c:4052,1
    - Dst: delete_lock
      Src: /src/libfuse/lib/fuse.c:4060,1
    - Dst: insert_lock
      Src: /src/libfuse/lib/fuse.c:4064,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:4068,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:4069,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 69
    argCount: 2
    argNames:
    - node
    - lock
    argTypes:
    - struct node*
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4071
      start: 3999
    functionDepth: 1
    functionLinenumber: 3999
    functionLinenumberEnd: 4071
    functionName: locks_insert
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - malloc
    - delete_lock
    - free
    - insert_lock
    linkageType: ''
    returnType: int
    signature: int locks_insert(struct node *node, struct lock *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:4075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - flock
    - lock
    argTypes:
    - struct flock*
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4081
      start: 4073
    functionDepth: 0
    functionLinenumber: 4073
    functionLinenumberEnd: 4081
    functionName: flock_to_lock
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void flock_to_lock(struct flock *flock, struct lock *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lock
    - flock
    argTypes:
    - struct lock*
    - struct flock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4090
      start: 4083
    functionDepth: 0
    functionLinenumber: 4083
    functionLinenumberEnd: 4090
    functionName: lock_to_flock
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lock_to_flock(struct lock *lock, struct flock *flock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4101,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:4102,1
    - Dst: fuse_fs_flush
      Src: /src/libfuse/lib/fuse.c:4105,1
    - Dst: fuse_fs_lock
      Src: /src/libfuse/lib/fuse.c:4106,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4107,1
    - Dst: flock_to_lock
      Src: /src/libfuse/lib/fuse.c:4110,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:4112,1
    - Dst: locks_insert
      Src: /src/libfuse/lib/fuse.c:4113,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:4113,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:4114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - f
    - req
    - ino
    - path
    - fi
    argTypes:
    - struct fuse*
    - fuse_req_t
    - fuse_ino_t
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4122
      start: 4092
    functionDepth: 3
    functionLinenumber: 4092
    functionLinenumberEnd: 4122
    functionName: fuse_flush_common
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_node
    - locks_insert
    - fuse_prepare_interrupt
    - pthread_mutex_lock
    - flock_to_lock
    - memset
    - fuse_fs_flush
    - pthread_mutex_unlock
    - fuse_fs_lock
    - fuse_finish_interrupt
    linkageType: ''
    returnType: int
    signature: "int fuse_flush_common(struct fuse *f, fuse_req_t req, fuse_ino_t ino,\n\t\t\t
      \    const char *path, struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4127,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:4132,1
    - Dst: fuse_flush_common
      Src: /src/libfuse/lib/fuse.c:4134,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4139,1
    - Dst: fuse_do_release
      Src: /src/libfuse/lib/fuse.c:4140,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4141,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4142,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4124
    functionDepth: 11
    functionLinenumber: 4124
    functionLinenumberEnd: 4145
    functionName: fuse_lib_release
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_flush_common
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - req_fuse_prepare
    - fuse_do_release
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_release(fuse_req_t req, fuse_ino_t ino,\n\t\t\t     struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4150,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:4154,1
    - Dst: fuse_flush_common
      Src: /src/libfuse/lib/fuse.c:4155,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4156,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4159
      start: 4147
    functionDepth: 10
    functionLinenumber: 4147
    functionLinenumberEnd: 4159
    functionName: fuse_lib_flush
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_flush_common
    - reply_err
    - free_path
    - req_fuse_prepare
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_flush(fuse_req_t req, fuse_ino_t ino,\n\t\t\t   struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4165,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:4169,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4172,1
    - Dst: fuse_fs_lock
      Src: /src/libfuse/lib/fuse.c:4173,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4174,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - req
    - ino
    - fi
    - lock
    - cmd
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    - struct flock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4178
      start: 4161
    functionDepth: 10
    functionLinenumber: 4161
    functionLinenumberEnd: 4178
    functionName: fuse_lock_common
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_prepare_interrupt
    - free_path
    - req_fuse_prepare
    - fuse_fs_lock
    - fuse_finish_interrupt
    linkageType: ''
    returnType: int
    signature: "int fuse_lock_common(fuse_req_t req, fuse_ino_t ino,\n\t\t\t    struct
      fuse_file_info *fi, struct flock *lock,\n\t\t\t    int cmd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse
      Src: /src/libfuse/lib/fuse.c:4186,1
    - Dst: flock_to_lock
      Src: /src/libfuse/lib/fuse.c:4188,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:4190,1
    - Dst: locks_conflict
      Src: /src/libfuse/lib/fuse.c:4191,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:4191,1
    - Dst: lock_to_flock
      Src: /src/libfuse/lib/fuse.c:4193,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:4194,1
    - Dst: fuse_lock_common
      Src: /src/libfuse/lib/fuse.c:4196,1
    - Dst: fuse_reply_lock
      Src: /src/libfuse/lib/fuse.c:4201,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - req
    - ino
    - fi
    - lock
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    - struct flock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4180
    functionDepth: 11
    functionLinenumber: 4180
    functionLinenumberEnd: 4204
    functionName: fuse_lib_getlk
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - req_fuse
    - get_node
    - pthread_mutex_lock
    - reply_err
    - fuse_lock_common
    - flock_to_lock
    - pthread_mutex_unlock
    - lock_to_flock
    - locks_conflict
    - fuse_reply_lock
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_getlk(fuse_req_t req, fuse_ino_t ino,\n\t\t\t   struct
      fuse_file_info *fi, struct flock *lock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_lock_common
      Src: /src/libfuse/lib/fuse.c:4210,1
    - Dst: req_fuse
      Src: /src/libfuse/lib/fuse.c:4213,1
    - Dst: flock_to_lock
      Src: /src/libfuse/lib/fuse.c:4215,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:4217,1
    - Dst: locks_insert
      Src: /src/libfuse/lib/fuse.c:4218,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:4218,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:4219,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - req
    - ino
    - fi
    - lock
    - sleep
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    - struct flock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4222
      start: 4206
    functionDepth: 11
    functionLinenumber: 4206
    functionLinenumberEnd: 4222
    functionName: fuse_lib_setlk
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - req_fuse
    - locks_insert
    - get_node
    - pthread_mutex_lock
    - reply_err
    - fuse_lock_common
    - flock_to_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_setlk(fuse_req_t req, fuse_ino_t ino,\n\t\t\t   struct
      fuse_file_info *fi, struct flock *lock,\n\t\t\t   int sleep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4227,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:4231,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4234,1
    - Dst: fuse_fs_flock
      Src: /src/libfuse/lib/fuse.c:4235,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4236,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4237,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - req
    - ino
    - fi
    - op
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4240
      start: 4224
    functionDepth: 10
    functionLinenumber: 4224
    functionLinenumberEnd: 4240
    functionName: fuse_lib_flock
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - req_fuse_prepare
    - fuse_fs_flock
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_flock(fuse_req_t req, fuse_ino_t ino,\n\t\t\t   struct
      fuse_file_info *fi, int op)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4245,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:4250,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4252,1
    - Dst: fuse_fs_bmap
      Src: /src/libfuse/lib/fuse.c:4253,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4254,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4255,1
    - Dst: fuse_reply_bmap
      Src: /src/libfuse/lib/fuse.c:4258,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - req
    - ino
    - blocksize
    - idx
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4261
      start: 4242
    functionDepth: 10
    functionLinenumber: 4242
    functionLinenumberEnd: 4261
    functionName: fuse_lib_bmap
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - req_fuse_prepare
    - fuse_fs_bmap
    - fuse_finish_interrupt
    - get_path
    - fuse_reply_bmap
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_bmap(fuse_req_t req, fuse_ino_t ino, size_t blocksize,\n\t\t\t
      \ uint64_t idx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4268,1
    - Dst: get_dirhandle
      Src: /src/libfuse/lib/fuse.c:4279,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse.c:4285,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:4290,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse.c:4292,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:4294,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4298,1
    - Dst: fuse_fs_ioctl
      Src: /src/libfuse/lib/fuse.c:4300,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4303,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4304,1
    - Dst: fuse_reply_ioctl
      Src: /src/libfuse/lib/fuse.c:4308,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4311,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:4313,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 9
    argNames:
    - req
    - ino
    - cmd
    - arg
    - llfi
    - flags
    - in_buf
    - in_bufsz
    - out_bufsz
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - unsigned int
    - void*
    - struct fuse_file_info*
    - unsigned int
    - void*
    - size_t
    - size_t
    assertStmts:
    - condition: (!in_bufsz || !out_bufsz || in_bufsz == out_bufsz)
      pos:
        line_end: 4289
        line_start: 4289
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 4314
      start: 4263
    functionDepth: 10
    functionLinenumber: 4263
    functionLinenumberEnd: 4314
    functionName: fuse_lib_ioctl
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - malloc
    - get_path_nullok
    - fuse_prepare_interrupt
    - memcpy
    - free_path
    - assert
    - reply_err
    - fuse_fs_ioctl
    - req_fuse_prepare
    - get_dirhandle
    - fuse_reply_ioctl
    - free
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_ioctl(fuse_req_t req, fuse_ino_t ino, unsigned int cmd,\n\t\t\t
      \  void *arg, struct fuse_file_info *llfi,\n\t\t\t   unsigned int flags, const
      void *in_buf,\n\t\t\t   size_t in_bufsz, size_t out_bufsz)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4319,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:4325,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4327,1
    - Dst: fuse_fs_poll
      Src: /src/libfuse/lib/fuse.c:4328,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4329,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4330,1
    - Dst: fuse_reply_poll
      Src: /src/libfuse/lib/fuse.c:4333,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - req
    - ino
    - fi
    - ph
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    - struct fuse_pollhandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4336
      start: 4316
    functionDepth: 10
    functionLinenumber: 4316
    functionLinenumberEnd: 4336
    functionName: fuse_lib_poll
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - req_fuse_prepare
    - fuse_reply_poll
    - fuse_fs_poll
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_poll(fuse_req_t req, fuse_ino_t ino,\n\t\t\t  struct
      fuse_file_info *fi, struct fuse_pollhandle *ph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4341,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:4346,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4348,1
    - Dst: fuse_fs_fallocate
      Src: /src/libfuse/lib/fuse.c:4349,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4350,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4351,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - req
    - ino
    - mode
    - offset
    - length
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - off_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4354
      start: 4338
    functionDepth: 10
    functionLinenumber: 4338
    functionLinenumberEnd: 4354
    functionName: fuse_lib_fallocate
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - req_fuse_prepare
    - fuse_fs_fallocate
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_fallocate(fuse_req_t req, fuse_ino_t ino, int mode,\n\t\toff_t
      offset, off_t length, struct fuse_file_info *fi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4362,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:4368,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4370,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:4374,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4376,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4377,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4381,1
    - Dst: fuse_fs_copy_file_range
      Src: /src/libfuse/lib/fuse.c:4382,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4384,1
    - Dst: fuse_reply_write
      Src: /src/libfuse/lib/fuse.c:4387,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4389,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4391,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 9
    argNames:
    - req
    - nodeid_in
    - off_in
    - fi_in
    - nodeid_out
    - off_out
    - fi_out
    - len
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - off_t
    - struct fuse_file_info*
    - fuse_ino_t
    - off_t
    - struct fuse_file_info*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4393
      start: 4356
    functionDepth: 10
    functionLinenumber: 4356
    functionLinenumberEnd: 4393
    functionName: fuse_lib_copy_file_range
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - fuse_prepare_interrupt
    - free_path
    - reply_err
    - fuse_fs_copy_file_range
    - fuse_reply_write
    - req_fuse_prepare
    - fuse_finish_interrupt
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_copy_file_range(fuse_req_t req, fuse_ino_t nodeid_in,\n\t\t\t\t
      \    off_t off_in, struct fuse_file_info *fi_in,\n\t\t\t\t     fuse_ino_t nodeid_out,
      off_t off_out,\n\t\t\t\t     struct fuse_file_info *fi_out, size_t len,\n\t\t\t\t
      \    int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4398,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:4404,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4406,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4410,1
    - Dst: fuse_fs_lseek
      Src: /src/libfuse/lib/fuse.c:4411,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4412,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4413,1
    - Dst: fuse_reply_lseek
      Src: /src/libfuse/lib/fuse.c:4415,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - req
    - ino
    - 'off'
    - whence
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - off_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4418
      start: 4395
    functionDepth: 10
    functionLinenumber: 4395
    functionLinenumberEnd: 4418
    functionName: fuse_lib_lseek
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_prepare_interrupt
    - fuse_fs_lseek
    - reply_err
    - free_path
    - req_fuse_prepare
    - fuse_reply_lseek
    - fuse_finish_interrupt
    - get_path
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_lseek(fuse_req_t req, fuse_ino_t ino, off_t off, int
      whence,\n\t\t\t   struct fuse_file_info *fi)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: req_fuse_prepare
      Src: /src/libfuse/lib/fuse.c:4424,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:4429,1
    - Dst: get_path_nullok
      Src: /src/libfuse/lib/fuse.c:4432,1
    - Dst: get_path
      Src: /src/libfuse/lib/fuse.c:4434,1
    - Dst: fuse_prepare_interrupt
      Src: /src/libfuse/lib/fuse.c:4441,1
    - Dst: fuse_fs_statx
      Src: /src/libfuse/lib/fuse.c:4442,1
    - Dst: fuse_finish_interrupt
      Src: /src/libfuse/lib/fuse.c:4443,1
    - Dst: free_path
      Src: /src/libfuse/lib/fuse.c:4444,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:4449,1
    - Dst: get_node
      Src: /src/libfuse/lib/fuse.c:4450,1
    - Dst: ST_MTIM_NSEC
      Src: /src/libfuse/lib/fuse.c:4457,1
    - Dst: update_stat
      Src: /src/libfuse/lib/fuse.c:4459,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:4461,1
    - Dst: set_statx
      Src: /src/libfuse/lib/fuse.c:4462,1
    - Dst: fuse_reply_statx
      Src: /src/libfuse/lib/fuse.c:4463,1
    - Dst: reply_err
      Src: /src/libfuse/lib/fuse.c:4465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - req
    - ino
    - flags
    - mask
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4466
      start: 4421
    functionDepth: 10
    functionLinenumber: 4421
    functionLinenumberEnd: 4466
    functionName: fuse_lib_statx
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - get_path_nullok
    - get_node
    - update_stat
    - fuse_prepare_interrupt
    - fuse_reply_statx
    - free_path
    - pthread_mutex_lock
    - reply_err
    - req_fuse_prepare
    - memset
    - pthread_mutex_unlock
    - set_statx
    - ST_MTIM_NSEC
    - fuse_finish_interrupt
    - fuse_fs_statx
    - get_path
    linkageType: ''
    returnType: void
    signature: "void fuse_lib_statx(fuse_req_t req, fuse_ino_t ino, int flags, int
      mask,\n\t\t\t   struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4485
      start: 4469
    functionDepth: 0
    functionLinenumber: 4469
    functionLinenumberEnd: 4485
    functionName: clean_delay
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clean_delay(struct fuse *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:4494,1
    - Dst: curr_time
      Src: /src/libfuse/lib/fuse.c:4496,1
    - Dst: list_entry
      Src: /src/libfuse/lib/fuse.c:4502,1
    - Dst: diff_timespec
      Src: /src/libfuse/lib/fuse.c:4505,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:4509,1
    - Dst: unhash_name
      Src: /src/libfuse/lib/fuse.c:4516,1
    - Dst: unref_node
      Src: /src/libfuse/lib/fuse.c:4517,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:4519,1
    - Dst: clean_delay
      Src: /src/libfuse/lib/fuse.c:4521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts:
    - condition: (node->nlookup == 1)
      pos:
        line_end: 4508
        line_start: 4508
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 4522
      start: 4487
    functionDepth: 6
    functionLinenumber: 4487
    functionLinenumberEnd: 4522
    functionName: fuse_clean_cache
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - unhash_name
    - pthread_mutex_lock
    - assert
    - pthread_mutex_unlock
    - curr_time
    - unref_node
    - diff_timespec
    - list_entry
    - clean_delay
    linkageType: ''
    returnType: int
    signature: int fuse_clean_cache(struct fuse *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_lowlevel_notify_poll
      Src: /src/libfuse/lib/fuse.c:4574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ph
    argTypes:
    - struct fuse_pollhandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4575
      start: 4572
    functionDepth: 5
    functionLinenumber: 4572
    functionLinenumberEnd: 4575
    functionName: fuse_notify_poll
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_lowlevel_notify_poll
    linkageType: ''
    returnType: int
    signature: int fuse_notify_poll(struct fuse_pollhandle *ph)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4580
      start: 4577
    functionDepth: 0
    functionLinenumber: 4577
    functionLinenumberEnd: 4580
    functionName: fuse_get_session
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct fuse_session
    signature: struct fuse_session *fuse_get_session(struct fuse *f)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curr_time
      Src: /src/libfuse/lib/fuse.c:4596,1
    - Dst: fuse_session_exited
      Src: /src/libfuse/lib/fuse.c:4598,1
    - Dst: curr_time
      Src: /src/libfuse/lib/fuse.c:4601,1
    - Dst: poll
      Src: /src/libfuse/lib/fuse.c:4607,1
    - Dst: fuse_session_receive_buf_internal
      Src: /src/libfuse/lib/fuse.c:4614,1
    - Dst: fuse_session_process_buf_internal
      Src: /src/libfuse/lib/fuse.c:4621,1
    - Dst: fuse_clean_cache
      Src: /src/libfuse/lib/fuse.c:4623,1
    - Dst: curr_time
      Src: /src/libfuse/lib/fuse.c:4624,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:4629,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4631
      start: 4582
    functionDepth: 7
    functionLinenumber: 4582
    functionLinenumberEnd: 4631
    functionName: fuse_session_loop_remember
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_session_exited
    - poll
    - curr_time
    - fuse_clean_cache
    - free
    - fuse_session_receive_buf_internal
    - fuse_session_process_buf_internal
    linkageType: ''
    returnType: int
    signature: int fuse_session_loop_remember(struct fuse *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lru_enabled
      Src: /src/libfuse/lib/fuse.c:4638,1
    - Dst: fuse_session_loop_remember
      Src: /src/libfuse/lib/fuse.c:4639,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/lib/fuse.c:4641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4642
      start: 4633
    functionDepth: 8
    functionLinenumber: 4633
    functionLinenumberEnd: 4642
    functionName: fuse_loop
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - lru_enabled
    - fuse_session_loop_remember
    - fuse_session_loop
    linkageType: ''
    returnType: int
    signature: int fuse_loop(struct fuse *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_start_cleanup_thread
      Src: /src/libfuse/lib/fuse.c:4650,1
    - Dst: fuse_session_loop_mt_312
      Src: /src/libfuse/lib/fuse.c:4654,1
    - Dst: fuse_get_session
      Src: /src/libfuse/lib/fuse.c:4654,1
    - Dst: fuse_stop_cleanup_thread
      Src: /src/libfuse/lib/fuse.c:4655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - f
    - config
    argTypes:
    - struct fuse*
    - struct fuse_loop_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4657
      start: 4645
    functionDepth: 5
    functionLinenumber: 4645
    functionLinenumberEnd: 4657
    functionName: fuse_loop_mt_312
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_stop_cleanup_thread
    - fuse_session_loop_mt_312
    - fuse_start_cleanup_thread
    - fuse_get_session
    linkageType: ''
    returnType: int
    signature: int fuse_loop_mt_312(struct fuse *f, struct fuse_loop_config *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/lib/fuse.c:4663,1
    - Dst: fuse_loop_cfg_convert
      Src: /src/libfuse/lib/fuse.c:4667,1
    - Dst: fuse_loop_mt_312
      Src: /src/libfuse/lib/fuse.c:4669,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/lib/fuse.c:4671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f
    - config_v1
    argTypes:
    - struct fuse*
    - struct fuse_loop_config_v1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4674
      start: 4661
    functionDepth: 6
    functionLinenumber: 4661
    functionLinenumberEnd: 4674
    functionName: fuse_loop_mt_32
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_loop_cfg_convert
    - fuse_loop_cfg_create
    - fuse_loop_mt_312
    - fuse_loop_cfg_destroy
    linkageType: ''
    returnType: int
    signature: int fuse_loop_mt_32(struct fuse *f, struct fuse_loop_config_v1 *config_v1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/lib/fuse.c:4681,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/lib/fuse.c:4686,1
    - Dst: fuse_loop_mt_312
      Src: /src/libfuse/lib/fuse.c:4688,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/lib/fuse.c:4690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - f
    - clone_fd
    argTypes:
    - struct fuse*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4693
      start: 4678
    functionDepth: 6
    functionLinenumber: 4678
    functionLinenumberEnd: 4693
    functionName: fuse_loop_mt_31
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_loop_cfg_set_clone_fd
    - fuse_loop_mt_312
    - fuse_loop_cfg_create
    - fuse_loop_cfg_destroy
    linkageType: ''
    returnType: int
    signature: int fuse_loop_mt_31(struct fuse *f, int clone_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_exit
      Src: /src/libfuse/lib/fuse.c:4697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4698
      start: 4695
    functionDepth: 1
    functionLinenumber: 4695
    functionLinenumberEnd: 4698
    functionName: fuse_exit
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_session_exit
    linkageType: ''
    returnType: void
    signature: void fuse_exit(struct fuse *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context_internal
      Src: /src/libfuse/lib/fuse.c:4702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4708
      start: 4700
    functionDepth: 1
    functionLinenumber: 4700
    functionLinenumberEnd: 4708
    functionName: fuse_get_context
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 42
    functionsReached:
    - fuse_get_context_internal
    linkageType: ''
    returnType: struct fuse_context
    signature: struct fuse_context *fuse_get_context(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context_internal
      Src: /src/libfuse/lib/fuse.c:4712,1
    - Dst: fuse_req_getgroups
      Src: /src/libfuse/lib/fuse.c:4716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - size
    - list
    argTypes:
    - int
    - gid_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4717
      start: 4710
    functionDepth: 1
    functionLinenumber: 4710
    functionLinenumberEnd: 4717
    functionName: fuse_getgroups
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_get_context_internal
    - fuse_req_getgroups
    linkageType: ''
    returnType: int
    signature: int fuse_getgroups(int size, gid_t list[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context_internal
      Src: /src/libfuse/lib/fuse.c:4721,1
    - Dst: fuse_req_interrupted
      Src: /src/libfuse/lib/fuse.c:4724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4727
      start: 4719
    functionDepth: 1
    functionLinenumber: 4719
    functionLinenumberEnd: 4727
    functionName: fuse_interrupted
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_get_context_internal
    - fuse_req_interrupted
    linkageType: ''
    returnType: int
    signature: int fuse_interrupted(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_path_in_cache
      Src: /src/libfuse/lib/fuse.c:4731,1
    - Dst: fuse_lowlevel_notify_inval_inode
      Src: /src/libfuse/lib/fuse.c:4736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - path
    argTypes:
    - struct fuse*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4737
      start: 4729
    functionDepth: 5
    functionLinenumber: 4729
    functionLinenumberEnd: 4737
    functionName: fuse_invalidate_path
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_lowlevel_notify_inval_inode
    - lookup_path_in_cache
    linkageType: ''
    returnType: int
    signature: int fuse_invalidate_path(struct fuse *f, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4740
      start: 4739
    functionDepth: 0
    functionLinenumber: 4739
    functionLinenumberEnd: 4740
    functionName: FUSE_LIB_OPT
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_LIB_OPT(t, p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - data
    - arg
    - key
    - outargs
    argTypes:
    - void*
    - char*
    - int
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4779
      start: 4772
    functionDepth: 0
    functionLinenumber: 4772
    functionLinenumberEnd: 4779
    functionName: fuse_lib_opt_proc
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuse_lib_opt_proc(void *data, const char *arg, int key,\n\t\t\t
      \    struct fuse_args *outargs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/lib/fuse.c:4791,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/lib/fuse.c:4792,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/lib/fuse.c:4793,1
    - Dst: printf
      Src: /src/libfuse/lib/fuse.c:4795,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/lib/fuse.c:4797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - fac
    argTypes:
    - char*
    - fuse_module_factory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4798
      start: 4788
    functionDepth: 1
    functionLinenumber: 4788
    functionLinenumberEnd: 4798
    functionName: print_module_help
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_opt_free_args
    - printf
    - FUSE_ARGS_INIT
    - fuse_opt_add_arg
    linkageType: ''
    returnType: void
    signature: "void print_module_help(const char *name,\n\t\t\t      fuse_module_factory_t
      *fac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/lib/fuse.c:4804,1
    - Dst: fuse_lowlevel_help
      Src: /src/libfuse/lib/fuse.c:4823,1
    - Dst: print_module_help
      Src: /src/libfuse/lib/fuse.c:4826,1
    - Dst: print_module_help
      Src: /src/libfuse/lib/fuse.c:4828,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/fuse.c:4834,1
    - Dst: fuse_get_module
      Src: /src/libfuse/lib/fuse.c:4850,1
    - Dst: print_module_help
      Src: /src/libfuse/lib/fuse.c:4852,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4854
      start: 4800
    functionDepth: 4
    functionLinenumber: 4800
    functionLinenumberEnd: 4854
    functionName: fuse_lib_help
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_get_module
    - print_module_help
    - fuse_opt_parse
    - fuse_lowlevel_help
    - printf
    linkageType: ''
    returnType: void
    signature: void fuse_lib_help(struct fuse_args *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/libfuse/lib/fuse.c:4860,1
    - Dst: perror
      Src: /src/libfuse/lib/fuse.c:4861,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:4868,1
    - Dst: sigemptyset
      Src: /src/libfuse/lib/fuse.c:4870,1
    - Dst: sigaction
      Src: /src/libfuse/lib/fuse.c:4872,1
    - Dst: perror
      Src: /src/libfuse/lib/fuse.c:4873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - signum
    - installed
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4879
      start: 4856
    functionDepth: 0
    functionLinenumber: 4856
    functionLinenumberEnd: 4879
    functionName: fuse_init_intr_signal
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - perror
    - memset
    - sigemptyset
    - sigaction
    linkageType: ''
    returnType: int
    signature: int fuse_init_intr_signal(int signum, int *installed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse.c:4885,1
    - Dst: sigaction
      Src: /src/libfuse/lib/fuse.c:4887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4888
      start: 4881
    functionDepth: 0
    functionLinenumber: 4881
    functionLinenumberEnd: 4888
    functionName: fuse_restore_intr_signal
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - memset
    - sigaction
    linkageType: ''
    returnType: void
    signature: void fuse_restore_intr_signal(int signum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_module
      Src: /src/libfuse/lib/fuse.c:4896,1
    - Dst: struct fuse_module*::factory
      Src: /src/libfuse/lib/fuse.c:4901,1
    - Dst: fuse_put_module
      Src: /src/libfuse/lib/fuse.c:4903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - f
    - module
    - args
    argTypes:
    - struct fuse*
    - char*
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4908
      start: 4891
    functionDepth: 4
    functionLinenumber: 4891
    functionLinenumberEnd: 4908
    functionName: fuse_push_module
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_get_module
    - fuse_put_module
    - struct fuse_module*::factory
    linkageType: ''
    returnType: int
    signature: "int fuse_push_module(struct fuse *f, const char *module,\n\t\t\t    struct
      fuse_args *args)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:4916,1
    - Dst: calloc
      Src: /src/libfuse/lib/fuse.c:4920,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:4922,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse.c:4928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - op
    - op_size
    - user_data
    argTypes:
    - struct fuse_operations*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4930
      start: 4910
    functionDepth: 1
    functionLinenumber: 4910
    functionLinenumberEnd: 4930
    functionName: fuse_fs_new
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - memcpy
    - fuse_log
    - calloc
    linkageType: ''
    returnType: struct fuse_fs
    signature: "struct fuse_fs *fuse_fs_new(const struct fuse_operations *op, size_t
      op_size,\n\t\t\t    void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/lib/fuse.c:4935,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:4937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct node_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4944
      start: 4932
    functionDepth: 1
    functionLinenumber: 4932
    functionLinenumberEnd: 4944
    functionName: node_table_init
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - calloc
    linkageType: ''
    returnType: int
    signature: int node_table_init(struct node_table *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_set_thread_name
      Src: /src/libfuse/lib/fuse.c:4951,1
    - Dst: fuse_clean_cache
      Src: /src/libfuse/lib/fuse.c:4954,1
    - Dst: sleep
      Src: /src/libfuse/lib/fuse.c:4955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fuse
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4958
      start: 4946
    functionDepth: 7
    functionLinenumber: 4946
    functionLinenumberEnd: 4958
    functionName: fuse_prune_nodes
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - sleep
    - fuse_clean_cache
    - fuse_set_thread_name
    linkageType: ''
    returnType: void
    signature: void *fuse_prune_nodes(void *fuse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lru_enabled
      Src: /src/libfuse/lib/fuse.c:4962,1
    - Dst: fuse_start_thread
      Src: /src/libfuse/lib/fuse.c:4963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4966
      start: 4960
    functionDepth: 2
    functionLinenumber: 4960
    functionLinenumberEnd: 4966
    functionName: fuse_start_cleanup_thread
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - lru_enabled
    - fuse_start_thread
    linkageType: ''
    returnType: int
    signature: int fuse_start_cleanup_thread(struct fuse *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lru_enabled
      Src: /src/libfuse/lib/fuse.c:4970,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:4971,1
    - Dst: pthread_cancel
      Src: /src/libfuse/lib/fuse.c:4972,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:4973,1
    - Dst: pthread_join
      Src: /src/libfuse/lib/fuse.c:4974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4976
      start: 4968
    functionDepth: 1
    functionLinenumber: 4968
    functionLinenumberEnd: 4976
    functionName: fuse_stop_cleanup_thread
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - pthread_join
    - lru_enabled
    - pthread_cancel
    linkageType: ''
    returnType: void
    signature: void fuse_stop_cleanup_thread(struct fuse *f)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/lib/fuse.c:4991,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:4993,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/fuse.c:5003,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse.c:5007,1
    - Dst: fuse_register_module
      Src: /src/libfuse/lib/fuse.c:5012,1
    - Dst: fuse_register_module
      Src: /src/libfuse/lib/fuse.c:5014,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse.c:5018,1
    - Dst: fuse_create_context_key
      Src: /src/libfuse/lib/fuse.c:5020,1
    - Dst: fuse_fs_new
      Src: /src/libfuse/lib/fuse.c:5023,1
    - Dst: getpagesize
      Src: /src/libfuse/lib/fuse.c:5035,1
    - Dst: init_list_head
      Src: /src/libfuse/lib/fuse.c:5036,1
    - Dst: init_list_head
      Src: /src/libfuse/lib/fuse.c:5037,1
    - Dst: init_list_head
      Src: /src/libfuse/lib/fuse.c:5038,1
    - Dst: fuse_push_module
      Src: /src/libfuse/lib/fuse.c:5050,1
    - Dst: fuse_session_new_versioned
      Src: /src/libfuse/lib/fuse.c:5071,1
    - Dst: node_table_init
      Src: /src/libfuse/lib/fuse.c:5080,1
    - Dst: node_table_init
      Src: /src/libfuse/lib/fuse.c:5083,1
    - Dst: pthread_mutex_init
      Src: /src/libfuse/lib/fuse.c:5086,1
    - Dst: alloc_node
      Src: /src/libfuse/lib/fuse.c:5088,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse.c:5090,1
    - Dst: lru_enabled
      Src: /src/libfuse/lib/fuse.c:5093,1
    - Dst: node_lru
      Src: /src/libfuse/lib/fuse.c:5094,1
    - Dst: init_list_head
      Src: /src/libfuse/lib/fuse.c:5095,1
    - Dst: strcpy
      Src: /src/libfuse/lib/fuse.c:5098,1
    - Dst: inc_nlookup
      Src: /src/libfuse/lib/fuse.c:5102,1
    - Dst: hash_id
      Src: /src/libfuse/lib/fuse.c:5103,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5108,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5110,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/lib/fuse.c:5112,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5114,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5115,1
    - Dst: fuse_delete_context_key
      Src: /src/libfuse/lib/fuse.c:5117,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5119,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 103
    argCount: 5
    argNames:
    - args
    - op
    - op_size
    - version
    - user_data
    argTypes:
    - struct fuse_args*
    - struct fuse_operations*
    - size_t
    - struct libfuse_version*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5122
      start: 4982
    functionDepth: 5
    functionLinenumber: 4982
    functionLinenumberEnd: 5122
    functionName: _fuse_new_31
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - fuse_create_context_key
    - alloc_node
    - node_lru
    - fuse_session_new_versioned
    - fuse_delete_context_key
    - fuse_fs_new
    - lru_enabled
    - calloc
    - inc_nlookup
    - node_table_init
    - strcpy
    - fuse_register_module
    - fuse_session_destroy
    - pthread_mutex_lock
    - fuse_opt_parse
    - fuse_push_module
    - hash_id
    - init_list_head
    - pthread_mutex_unlock
    - fuse_log
    - free
    - getpagesize
    - pthread_mutex_init
    linkageType: ''
    returnType: struct fuse
    signature: "struct fuse *_fuse_new_31(struct fuse_args *args,\n\t\t\t  const struct
      fuse_operations *op, size_t op_size,\n\t\t\t  struct libfuse_version *version,
      void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_LIB_OPT
      Src: /src/libfuse/lib/fuse.c:5135,1
    - Dst: FUSE_LIB_OPT
      Src: /src/libfuse/lib/fuse.c:5136,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/fuse.c:5140,1
    - Dst: fuse_lib_help
      Src: /src/libfuse/lib/fuse.c:5145,1
    - Dst: _fuse_new_31
      Src: /src/libfuse/lib/fuse.c:5148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - args
    - op
    - op_size
    - version
    - user_data
    argTypes:
    - struct fuse_args*
    - struct fuse_operations*
    - size_t
    - struct libfuse_version*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5149
      start: 5126
    functionDepth: 6
    functionLinenumber: 5126
    functionLinenumberEnd: 5149
    functionName: _fuse_new_30
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - fuse_opt_parse
    - FUSE_LIB_OPT
    - fuse_lib_help
    - _fuse_new_31
    linkageType: ''
    returnType: struct fuse
    signature: "struct fuse *_fuse_new_30(struct fuse_args *args,\n\t\t\t const struct
      fuse_operations *op,\n\t\t\t size_t op_size,\n\t\t\t struct libfuse_version
      *version,\n\t\t\t void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _fuse_new_31
      Src: /src/libfuse/lib/fuse.c:5162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - args
    - op
    - op_size
    - user_data
    argTypes:
    - struct fuse_args*
    - struct fuse_operations*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5163
      start: 5155
    functionDepth: 6
    functionLinenumber: 5155
    functionLinenumberEnd: 5163
    functionName: fuse_new_31
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 3
    functionsReached:
    - _fuse_new_31
    linkageType: ''
    returnType: struct fuse
    signature: "struct fuse *fuse_new_31(struct fuse_args *args,\n\t\t\t const struct
      fuse_operations *op,\n\t\t\t size_t op_size, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_LIB_OPT
      Src: /src/libfuse/lib/fuse.c:5179,1
    - Dst: FUSE_LIB_OPT
      Src: /src/libfuse/lib/fuse.c:5180,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/fuse.c:5184,1
    - Dst: fuse_lib_help
      Src: /src/libfuse/lib/fuse.c:5189,1
    - Dst: fuse_new_31
      Src: /src/libfuse/lib/fuse.c:5192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - args
    - op
    - op_size
    - user_data
    argTypes:
    - struct fuse_args*
    - struct fuse_operations*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5193
      start: 5172
    functionDepth: 7
    functionLinenumber: 5172
    functionLinenumberEnd: 5193
    functionName: fuse_new_30
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 1
    functionsReached:
    - fuse_new_31
    - fuse_opt_parse
    - FUSE_LIB_OPT
    - fuse_lib_help
    linkageType: ''
    returnType: struct fuse
    signature: "struct fuse *fuse_new_30(struct fuse_args *args,\n\t\t\t const struct
      fuse_operations *op,\n\t\t\t size_t op_size, void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fuse_restore_intr_signal
      Src: /src/libfuse/lib/fuse.c:5201,1
    - Dst: fuse_create_context
      Src: /src/libfuse/lib/fuse.c:5204,1
    - Dst: try_get_path
      Src: /src/libfuse/lib/fuse.c:5213,1
    - Dst: fuse_fs_unlink
      Src: /src/libfuse/lib/fuse.c:5214,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5215,1
    - Dst: free_node
      Src: /src/libfuse/lib/fuse.c:5227,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:5231,1
    - Dst: list_empty
      Src: /src/libfuse/lib/fuse.c:5231,1
    - Dst: assert
      Src: /src/libfuse/lib/fuse.c:5232,1
    - Dst: list_empty
      Src: /src/libfuse/lib/fuse.c:5232,1
    - Dst: fuse_put_module
      Src: /src/libfuse/lib/fuse.c:5235,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5237,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5238,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse.c:5239,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/lib/fuse.c:5240,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5241,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5242,1
    - Dst: free
      Src: /src/libfuse/lib/fuse.c:5243,1
    - Dst: fuse_delete_context_key
      Src: /src/libfuse/lib/fuse.c:5244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts:
    - condition: (list_empty(&f->full_slabs))
      pos:
        line_end: 5231
        line_start: 5231
        source_file: /src/libfuse/lib/fuse.c
    - condition: (list_empty(&f->partial_slabs))
      pos:
        line_end: 5230
        line_start: 5230
        source_file: /src/libfuse/lib/fuse.c
    constantsTouched: []
    func_position:
      end: 5245
      start: 5196
    functionDepth: 5
    functionLinenumber: 5196
    functionLinenumberEnd: 5245
    functionName: fuse_destroy
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_session_destroy
    - free_node
    - assert
    - fuse_fs_unlink
    - fuse_delete_context_key
    - list_empty
    - free
    - try_get_path
    - pthread_mutex_destroy
    - fuse_put_module
    - fuse_create_context
    - fuse_restore_intr_signal
    linkageType: ''
    returnType: void
    signature: void fuse_destroy(struct fuse *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_mount
      Src: /src/libfuse/lib/fuse.c:5248,1
    - Dst: fuse_get_session
      Src: /src/libfuse/lib/fuse.c:5248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - mountpoint
    argTypes:
    - struct fuse*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5249
      start: 5247
    functionDepth: 2
    functionLinenumber: 5247
    functionLinenumberEnd: 5249
    functionName: fuse_mount
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_session_mount
    - fuse_get_session
    linkageType: ''
    returnType: int
    signature: int fuse_mount(struct fuse *f, const char *mountpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_unmount
      Src: /src/libfuse/lib/fuse.c:5253,1
    - Dst: fuse_get_session
      Src: /src/libfuse/lib/fuse.c:5253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5254
      start: 5252
    functionDepth: 1
    functionLinenumber: 5252
    functionLinenumberEnd: 5254
    functionName: fuse_unmount
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached:
    - fuse_get_session
    - fuse_session_unmount
    linkageType: ''
    returnType: void
    signature: void fuse_unmount(struct fuse *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5259
      start: 5256
    functionDepth: 0
    functionLinenumber: 5256
    functionLinenumberEnd: 5259
    functionName: fuse_version
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuse_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5264
      start: 5261
    functionDepth: 0
    functionLinenumber: 5261
    functionLinenumberEnd: 5264
    functionName: fuse_pkgversion
    functionSourceFile: /src/libfuse/lib/fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *fuse_pkgversion(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_exited
      Src: /src/libfuse/lib/fuse_loop.c:26,1
    - Dst: fuse_session_receive_buf_internal
      Src: /src/libfuse/lib/fuse_loop.c:27,1
    - Dst: fuse_session_process_buf
      Src: /src/libfuse/lib/fuse_loop.c:34,1
    - Dst: fuse_buf_free
      Src: /src/libfuse/lib/fuse_loop.c:37,1
    - Dst: fuse_uring_stop
      Src: /src/libfuse/lib/fuse_loop.c:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 48
    functionName: fuse_session_loop
    functionSourceFile: /src/libfuse/lib/fuse_loop.c
    functionUses: 3
    functionsReached:
    - fuse_session_exited
    - fuse_uring_stop
    - fuse_session_process_buf
    - fuse_buf_free
    - fuse_session_receive_buf_internal
    linkageType: ''
    returnType: int
    signature: int fuse_session_loop(struct fuse_session *se)
  - 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: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: MIN
    functionSourceFile: /src/libfuse/lib/fuse_i.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: FUSE_HELPER_OPT
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_HELPER_OPT(t, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: CONN_OPTION
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_OPTION(t, p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/lib/helper.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: fuse_cmdline_help
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void fuse_cmdline_help(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fuse_mnt_parse_fuse_fd
      Src: /src/libfuse/lib/helper.c:154,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/helper.c:155,1
    - Dst: realpath
      Src: /src/libfuse/lib/helper.c:159,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/helper.c:160,1
    - Dst: strerror
      Src: /src/libfuse/lib/helper.c:162,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/helper.c:165,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/helper.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - data
    - arg
    - key
    - outargs
    argTypes:
    - void*
    - char*
    - int
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 175
    functionName: fuse_helper_opt_proc
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached:
    - fuse_opt_add_opt
    - realpath
    - strerror
    - fuse_mnt_parse_fuse_fd
    - fuse_log
    linkageType: ''
    returnType: int
    signature: "int fuse_helper_opt_proc(void *data, const char *arg, int key,\n\t\t\t\tstruct
      fuse_args *outargs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libfuse/lib/helper.c:184,1
    - Dst: malloc
      Src: /src/libfuse/lib/helper.c:190,1
    - Dst: strlen
      Src: /src/libfuse/lib/helper.c:190,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/helper.c:192,1
    - Dst: sprintf
      Src: /src/libfuse/lib/helper.c:196,1
    - Dst: sprintf
      Src: /src/libfuse/lib/helper.c:198,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/lib/helper.c:200,1
    - Dst: free
      Src: /src/libfuse/lib/helper.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - progname
    - args
    argTypes:
    - char*
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: add_default_subtype
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached:
    - malloc
    - strrchr
    - sprintf
    - strlen
    - fuse_log
    - free
    - fuse_opt_add_arg
    linkageType: ''
    returnType: int
    signature: int add_default_subtype(const char *progname, struct fuse_args *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/helper.c:211,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/helper.c:216,1
    - Dst: add_default_subtype
      Src: /src/libfuse/lib/helper.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - args
    - opts
    argTypes:
    - struct fuse_args*
    - struct fuse_cmdline_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 229
    functionName: fuse_parse_cmdline_312
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached:
    - memset
    - fuse_opt_parse
    - add_default_subtype
    linkageType: ''
    returnType: int
    signature: "int fuse_parse_cmdline_312(struct fuse_args *args,\n\t\t\t   struct
      fuse_cmdline_opts *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_parse_cmdline_312
      Src: /src/libfuse/lib/helper.c:242,1
    - Dst: memcpy
      Src: /src/libfuse/lib/helper.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - args
    - out_opts
    argTypes:
    - struct fuse_args*
    - struct fuse_cmdline_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: fuse_parse_cmdline_30
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached:
    - memcpy
    - fuse_parse_cmdline_312
    linkageType: ''
    returnType: int
    signature: "int fuse_parse_cmdline_30(struct fuse_args *args,\n\t\t\t  struct
      fuse_cmdline_opts *out_opts)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/libfuse/lib/helper.c:260,1
    - Dst: perror
      Src: /src/libfuse/lib/helper.c:261,1
    - Dst: fork
      Src: /src/libfuse/lib/helper.c:269,1
    - Dst: perror
      Src: /src/libfuse/lib/helper.c:271,1
    - Dst: read
      Src: /src/libfuse/lib/helper.c:276,1
    - Dst: _exit
      Src: /src/libfuse/lib/helper.c:277,1
    - Dst: setsid
      Src: /src/libfuse/lib/helper.c:280,1
    - Dst: perror
      Src: /src/libfuse/lib/helper.c:281,1
    - Dst: chdir
      Src: /src/libfuse/lib/helper.c:285,1
    - Dst: open
      Src: /src/libfuse/lib/helper.c:287,1
    - Dst: dup2
      Src: /src/libfuse/lib/helper.c:289,1
    - Dst: dup2
      Src: /src/libfuse/lib/helper.c:290,1
    - Dst: dup2
      Src: /src/libfuse/lib/helper.c:291,1
    - Dst: close
      Src: /src/libfuse/lib/helper.c:293,1
    - Dst: write
      Src: /src/libfuse/lib/helper.c:298,1
    - Dst: close
      Src: /src/libfuse/lib/helper.c:299,1
    - Dst: close
      Src: /src/libfuse/lib/helper.c:300,1
    - Dst: chdir
      Src: /src/libfuse/lib/helper.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - foreground
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 305
    functionName: fuse_daemonize
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached:
    - perror
    - _exit
    - setsid
    - read
    - open
    - write
    - dup2
    - pipe
    - fork
    - chdir
    - close
    linkageType: ''
    returnType: int
    signature: int fuse_daemonize(int foreground)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/lib/helper.c:311,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/lib/helper.c:317,1
    - Dst: printf
      Src: /src/libfuse/lib/helper.c:321,1
    - Dst: fuse_lowlevel_version
      Src: /src/libfuse/lib/helper.c:322,1
    - Dst: printf
      Src: /src/libfuse/lib/helper.c:329,1
    - Dst: printf
      Src: /src/libfuse/lib/helper.c:331,1
    - Dst: fuse_cmdline_help
      Src: /src/libfuse/lib/helper.c:332,1
    - Dst: fuse_lib_help
      Src: /src/libfuse/lib/helper.c:333,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/helper.c:340,1
    - Dst: _fuse_new_31
      Src: /src/libfuse/lib/helper.c:349,1
    - Dst: fuse_mount
      Src: /src/libfuse/lib/helper.c:355,1
    - Dst: fuse_daemonize
      Src: /src/libfuse/lib/helper.c:360,1
    - Dst: fuse_get_session
      Src: /src/libfuse/lib/helper.c:365,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/lib/helper.c:366,1
    - Dst: fuse_loop
      Src: /src/libfuse/lib/helper.c:372,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/lib/helper.c:374,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/lib/helper.c:380,1
    - Dst: fuse_loop_cfg_set_idle_threads
      Src: /src/libfuse/lib/helper.c:382,1
    - Dst: fuse_loop_cfg_set_max_threads
      Src: /src/libfuse/lib/helper.c:383,1
    - Dst: fuse_loop_mt
      Src: /src/libfuse/lib/helper.c:384,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/lib/helper.c:389,1
    - Dst: fuse_unmount
      Src: /src/libfuse/lib/helper.c:391,1
    - Dst: fuse_destroy
      Src: /src/libfuse/lib/helper.c:393,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/lib/helper.c:395,1
    - Dst: free
      Src: /src/libfuse/lib/helper.c:396,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/lib/helper.c:397,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 6
    argNames:
    - argc
    - argv
    - op
    - op_size
    - version
    - user_data
    argTypes:
    - int
    - char*[]
    - struct fuse_operations*
    - size_t
    - struct libfuse_version*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 307
    functionDepth: 9
    functionLinenumber: 307
    functionLinenumberEnd: 399
    functionName: fuse_main_real_versioned
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 2
    functionsReached:
    - fuse_unmount
    - fuse_destroy
    - fuse_daemonize
    - FUSE_ARGS_INIT
    - fuse_lib_help
    - fuse_opt_free_args
    - fuse_parse_cmdline
    - fuse_lowlevel_version
    - fuse_set_signal_handlers
    - fuse_loop_cfg_destroy
    - fuse_remove_signal_handlers
    - fuse_loop_cfg_set_max_threads
    - _fuse_new_31
    - fuse_mount
    - fuse_loop_cfg_set_clone_fd
    - fuse_loop_cfg_set_idle_threads
    - fuse_cmdline_help
    - fuse_loop
    - fuse_log
    - fuse_get_session
    - fuse_loop_mt
    - free
    - fuse_loop_cfg_create
    - printf
    linkageType: ''
    returnType: int
    signature: "int fuse_main_real_versioned(int argc, char *argv[],\n\t\t\t     const
      struct fuse_operations *op, size_t op_size,\n\t\t\t     struct libfuse_version
      *version, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_main_real_versioned
      Src: /src/libfuse/lib/helper.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - op
    - op_size
    - user_data
    argTypes:
    - int
    - char*[]
    - struct fuse_operations*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 10
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: fuse_main_real_30
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached:
    - fuse_main_real_versioned
    linkageType: ''
    returnType: int
    signature: "int fuse_main_real_30(int argc, char *argv[], const struct fuse_operations
      *op,\n\t\t      size_t op_size, void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LL_ENABLE
      Src: /src/libfuse/lib/helper.c:438,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:439,1
    - Dst: LL_ENABLE
      Src: /src/libfuse/lib/helper.c:441,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:442,1
    - Dst: LL_ENABLE
      Src: /src/libfuse/lib/helper.c:444,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:445,1
    - Dst: LL_ENABLE
      Src: /src/libfuse/lib/helper.c:447,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:448,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:450,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:451,1
    - Dst: LL_ENABLE
      Src: /src/libfuse/lib/helper.c:453,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:454,1
    - Dst: LL_ENABLE
      Src: /src/libfuse/lib/helper.c:456,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:457,1
    - Dst: LL_ENABLE
      Src: /src/libfuse/lib/helper.c:459,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:460,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:462,1
    - Dst: LL_DISABLE
      Src: /src/libfuse/lib/helper.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - opts
    - conn
    argTypes:
    - struct fuse_conn_info_opts*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 464
    functionName: fuse_apply_conn_info_opts
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached:
    - LL_ENABLE
    - LL_DISABLE
    linkageType: ''
    returnType: void
    signature: "void fuse_apply_conn_info_opts(struct fuse_conn_info_opts *opts,\n\t\t\t
      \      struct fuse_conn_info *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: LL_ENABLE
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_ENABLE(cond, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: LL_DISABLE
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_DISABLE(cond, cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/lib/helper.c:470,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/helper.c:472,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/helper.c:475,1
    - Dst: free
      Src: /src/libfuse/lib/helper.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 480
    functionName: fuse_parse_conn_info_opts
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached:
    - fuse_opt_parse
    - fuse_log
    - calloc
    - free
    linkageType: ''
    returnType: struct fuse_conn_info_opts
    signature: struct fuse_conn_info_opts * fuse_parse_conn_info_opts(struct fuse_args
      *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/lib/helper.c:488,1
    - Dst: parse_mount_opts
      Src: /src/libfuse/lib/helper.c:490,1
    - Dst: fuse_kern_mount
      Src: /src/libfuse/lib/helper.c:494,1
    - Dst: destroy_mount_opts
      Src: /src/libfuse/lib/helper.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mountpoint
    - options
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 498
    functionName: fuse_open_channel
    functionSourceFile: /src/libfuse/lib/helper.c
    functionUses: 0
    functionsReached:
    - parse_mount_opts
    - FUSE_ARGS_INIT
    - fuse_kern_mount
    - destroy_mount_opts
    linkageType: ''
    returnType: int
    signature: int fuse_open_channel(const char *mountpoint, const char* options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - round_to
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: ROUND_UP
    functionSourceFile: /src/libfuse/lib/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_UP(val, round_to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: likely
    functionSourceFile: /src/libfuse/lib/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: unlikely
    functionSourceFile: /src/libfuse/lib/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nr
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: fuse_lower_32_bits
    functionSourceFile: /src/libfuse/lib/util.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fuse_lower_32_bits(uint64_t nr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nr
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: fuse_higher_32_bits
    functionSourceFile: /src/libfuse/lib/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fuse_higher_32_bits(uint64_t nr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: container_of
    functionSourceFile: /src/libfuse/lib/util.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: container_of(ptr, type, member)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsyslog
      Src: /src/libfuse/lib/fuse_log.c:25,1
    - Dst: vfprintf
      Src: /src/libfuse/lib/fuse_log.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - level
    - fmt
    - ap
    argTypes:
    - enum fuse_log_level
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: default_log_func
    functionSourceFile: /src/libfuse/lib/fuse_log.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - vsyslog
    linkageType: ''
    returnType: void
    signature: void default_log_func(enum fuse_log_level level, const char *fmt, va_list
      ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - func
    argTypes:
    - fuse_log_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: fuse_set_log_func
    functionSourceFile: /src/libfuse/lib/fuse_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuse_set_log_func(fuse_log_func_t func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libfuse/lib/fuse_log.c:44,1
    - Dst: log_func
      Src: /src/libfuse/lib/fuse_log.c:45,1
    - Dst: va_end
      Src: /src/libfuse/lib/fuse_log.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - enum fuse_log_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: fuse_log
    functionSourceFile: /src/libfuse/lib/fuse_log.c
    functionUses: 87
    functionsReached:
    - log_func
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void fuse_log(enum fuse_log_level level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/libfuse/lib/fuse_log.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ident
    - option
    - facility
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: fuse_log_enable_syslog
    functionSourceFile: /src/libfuse/lib/fuse_log.c
    functionUses: 0
    functionsReached:
    - openlog
    linkageType: ''
    returnType: void
    signature: void fuse_log_enable_syslog(const char *ident, int option, int facility)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closelog
      Src: /src/libfuse/lib/fuse_log.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: fuse_log_close_syslog
    functionSourceFile: /src/libfuse/lib/fuse_log.c
    functionUses: 0
    functionsReached:
    - closelog
    linkageType: ''
    returnType: void
    signature: void fuse_log_close_syslog(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - FUSE_VAR_UNUSED
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: fuse_uring_start
    functionSourceFile: /src/libfuse/lib/fuse_uring_i.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuse_uring_start(struct fuse_session *se FUSE_VAR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - FUSE_VAR_UNUSED
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: fuse_uring_wake_ring_threads
    functionSourceFile: /src/libfuse/lib/fuse_uring_i.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuse_uring_wake_ring_threads(struct fuse_session *se FUSE_VAR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - FUSE_VAR_UNUSED
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: fuse_uring_stop
    functionSourceFile: /src/libfuse/lib/fuse_uring_i.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuse_uring_stop(struct fuse_session *se FUSE_VAR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - FUSE_VAR_UNUSED
    - FUSE_VAR_UNUSED
    - FUSE_VAR_UNUSED
    - FUSE_VAR_UNUSED
    argTypes:
    - fuse_req_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: send_reply_uring
    functionSourceFile: /src/libfuse/lib/fuse_uring_i.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int send_reply_uring(fuse_req_t req FUSE_VAR_UNUSED,\n\t\t\t\t   int
      error FUSE_VAR_UNUSED,\n\t\t\t\t   const void *arg FUSE_VAR_UNUSED,\n\t\t\t\t
      \  size_t argsize FUSE_VAR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - FUSE_VAR_UNUSED
    - FUSE_VAR_UNUSED
    - FUSE_VAR_UNUSED
    argTypes:
    - fuse_req_t
    - struct fuse_bufvec*
    - enum fuse_buf_copy_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: fuse_reply_data_uring
    functionSourceFile: /src/libfuse/lib/fuse_uring_i.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuse_reply_data_uring(fuse_req_t req FUSE_VAR_UNUSED,\n\t\t      struct
      fuse_bufvec *bufv FUSE_VAR_UNUSED,\n\t\t      enum fuse_buf_copy_flags flags
      FUSE_VAR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - FUSE_VAR_UNUSED
    - FUSE_VAR_UNUSED
    - FUSE_VAR_UNUSED
    argTypes:
    - fuse_req_t
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: fuse_send_msg_uring
    functionSourceFile: /src/libfuse/lib/fuse_uring_i.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuse_send_msg_uring(fuse_req_t req FUSE_VAR_UNUSED,\n\t\t\t\t
      \     struct iovec *iov FUSE_VAR_UNUSED,\n\t\t\t\t      int count FUSE_VAR_UNUSED)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libfuse/lib/util.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - str
    - res
    argTypes:
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 43
    functionName: libfuse_strtol
    functionSourceFile: /src/libfuse/lib/util.c
    functionUses: 2
    functionsReached:
    - strtol
    linkageType: ''
    returnType: int
    signature: int libfuse_strtol(const char *str, long *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setname_np
      Src: /src/libfuse/lib/util.c:48,1
    - Dst: pthread_self
      Src: /src/libfuse/lib/util.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: fuse_set_thread_name
    functionSourceFile: /src/libfuse/lib/util.c
    functionUses: 2
    functionsReached:
    - pthread_setname_np
    - pthread_self
    linkageType: ''
    returnType: void
    signature: void fuse_set_thread_name(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/libfuse/lib/fuse_signals.c:45,1
    - Dst: backtrace_symbols
      Src: /src/libfuse/lib/fuse_signals.c:46,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_signals.c:49,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_signals.c:50,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_signals.c:55,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_signals.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: dump_stack
    functionSourceFile: /src/libfuse/lib/fuse_signals.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols
    - strerror
    - backtrace
    - fuse_log
    - free
    linkageType: ''
    returnType: void
    signature: void dump_stack(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_signals.c:64,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_signals.c:69,1
    - Dst: fuse_session_exit
      Src: /src/libfuse/lib/fuse_signals.c:72,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_signals.c:75,1
    - Dst: dump_stack
      Src: /src/libfuse/lib/fuse_signals.c:77,1
    - Dst: abort
      Src: /src/libfuse/lib/fuse_signals.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: exit_handler
    functionSourceFile: /src/libfuse/lib/fuse_signals.c
    functionUses: 0
    functionsReached:
    - fuse_session_exit
    - fuse_log
    - abort
    - dump_stack
    linkageType: ''
    returnType: void
    signature: void exit_handler(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_exit
      Src: /src/libfuse/lib/fuse_signals.c:90,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/lib/fuse_signals.c:92,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_signals.c:93,1
    - Dst: dump_stack
      Src: /src/libfuse/lib/fuse_signals.c:94,1
    - Dst: abort
      Src: /src/libfuse/lib/fuse_signals.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: exit_backtrace
    functionSourceFile: /src/libfuse/lib/fuse_signals.c
    functionUses: 0
    functionsReached:
    - fuse_remove_signal_handlers
    - dump_stack
    - fuse_log
    - abort
    - fuse_session_exit
    linkageType: ''
    returnType: void
    signature: void exit_backtrace(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: do_nothing
    functionSourceFile: /src/libfuse/lib/fuse_signals.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_nothing(int sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/lib/fuse_signals.c:109,1
    - Dst: sigemptyset
      Src: /src/libfuse/lib/fuse_signals.c:111,1
    - Dst: sigaction
      Src: /src/libfuse/lib/fuse_signals.c:114,1
    - Dst: perror
      Src: /src/libfuse/lib/fuse_signals.c:115,1
    - Dst: sigaction
      Src: /src/libfuse/lib/fuse_signals.c:120,1
    - Dst: perror
      Src: /src/libfuse/lib/fuse_signals.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - sig
    - remove
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: set_one_signal_handler
    functionSourceFile: /src/libfuse/lib/fuse_signals.c
    functionUses: 0
    functionsReached:
    - perror
    - memset
    - sigemptyset
    - sigaction
    linkageType: ''
    returnType: int
    signature: int set_one_signal_handler(int sig, void (*handler)(int), int remove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_one_signal_handler
      Src: /src/libfuse/lib/fuse_signals.c:140,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_signals.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - signals
    - nr_signals
    argTypes:
    - int[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: _fuse_set_signal_handlers
    functionSourceFile: /src/libfuse/lib/fuse_signals.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - set_one_signal_handler
    linkageType: ''
    returnType: int
    signature: "int _fuse_set_signal_handlers(int signals[], int nr_signals,\n\t\t\t\t
      \    void (*handler)(int))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _fuse_set_signal_handlers
      Src: /src/libfuse/lib/fuse_signals.c:157,1
    - Dst: _fuse_set_signal_handlers
      Src: /src/libfuse/lib/fuse_signals.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 174
    functionName: fuse_set_signal_handlers
    functionSourceFile: /src/libfuse/lib/fuse_signals.c
    functionUses: 5
    functionsReached:
    - _fuse_set_signal_handlers
    linkageType: ''
    returnType: int
    signature: int fuse_set_signal_handlers(struct fuse_session *se)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _fuse_set_signal_handlers
      Src: /src/libfuse/lib/fuse_signals.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: fuse_set_fail_signal_handlers
    functionSourceFile: /src/libfuse/lib/fuse_signals.c
    functionUses: 0
    functionsReached:
    - _fuse_set_signal_handlers
    linkageType: ''
    returnType: int
    signature: int fuse_set_fail_signal_handlers(struct fuse_session *se)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_one_signal_handler
      Src: /src/libfuse/lib/fuse_signals.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - signals
    - nr_signals
    argTypes:
    - int[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: _fuse_remove_signal_handlers
    functionSourceFile: /src/libfuse/lib/fuse_signals.c
    functionUses: 0
    functionsReached:
    - set_one_signal_handler
    linkageType: ''
    returnType: void
    signature: "void _fuse_remove_signal_handlers(int signals[], int nr_signals,\n\t\t\t\t\t
      void (*handler)(int))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_signals.c:203,1
    - Dst: _fuse_remove_signal_handlers
      Src: /src/libfuse/lib/fuse_signals.c:209,1
    - Dst: _fuse_remove_signal_handlers
      Src: /src/libfuse/lib/fuse_signals.c:212,1
    - Dst: _fuse_remove_signal_handlers
      Src: /src/libfuse/lib/fuse_signals.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 216
    functionName: fuse_remove_signal_handlers
    functionSourceFile: /src/libfuse/lib/fuse_signals.c
    functionUses: 6
    functionsReached:
    - fuse_log
    - _fuse_remove_signal_handlers
    linkageType: ''
    returnType: void
    signature: void fuse_remove_signal_handlers(struct fuse_session *se)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/fuse_opt.c:40,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_opt.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: fuse_opt_free_args
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 8
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fuse_opt_free_args(struct fuse_args *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_opt.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: alloc_failed
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - fuse_log
    linkageType: ''
    returnType: int
    signature: int alloc_failed(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/lib/fuse_opt.c:60,1
    - Dst: strdup
      Src: /src/libfuse/lib/fuse_opt.c:62,1
    - Dst: alloc_failed
      Src: /src/libfuse/lib/fuse_opt.c:64,1
    - Dst: realloc
      Src: /src/libfuse/lib/fuse_opt.c:66,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_opt.c:68,1
    - Dst: alloc_failed
      Src: /src/libfuse/lib/fuse_opt.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct fuse_args*
    - char*
    assertStmts:
    - condition: (!args->argv || args->allocated)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libfuse/lib/fuse_opt.c
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: fuse_opt_add_arg
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 8
    functionsReached:
    - strdup
    - realloc
    - assert
    - free
    - alloc_failed
    linkageType: ''
    returnType: int
    signature: int fuse_opt_add_arg(struct fuse_args *args, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/lib/fuse_opt.c:82,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/lib/fuse_opt.c:83,1
    - Dst: memmove
      Src: /src/libfuse/lib/fuse_opt.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - args
    - pos
    - arg
    argTypes:
    - struct fuse_args*
    - int
    - char*
    assertStmts:
    - condition: (pos <= args->argc)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/libfuse/lib/fuse_opt.c
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: fuse_opt_insert_arg_common
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert
    - fuse_opt_add_arg
    linkageType: ''
    returnType: int
    signature: "int fuse_opt_insert_arg_common(struct fuse_args *args, int pos,\n\t\t\t\t
      \     const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_opt_insert_arg_common
      Src: /src/libfuse/lib/fuse_opt.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - args
    - pos
    - arg
    argTypes:
    - struct fuse_args*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: fuse_opt_insert_arg
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - fuse_opt_insert_arg_common
    linkageType: ''
    returnType: int
    signature: int fuse_opt_insert_arg(struct fuse_args *args, int pos, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_opt.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - opt
    argTypes:
    - struct fuse_opt_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: next_arg
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - fuse_log
    linkageType: ''
    returnType: int
    signature: int next_arg(struct fuse_opt_context *ctx, const char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/lib/fuse_opt.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - struct fuse_opt_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: add_arg
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 10
    functionsReached:
    - fuse_opt_add_arg
    linkageType: ''
    returnType: int
    signature: int add_arg(struct fuse_opt_context *ctx, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_opt.c:117,1
    - Dst: realloc
      Src: /src/libfuse/lib/fuse_opt.c:118,1
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_opt.c:118,1
    - Dst: alloc_failed
      Src: /src/libfuse/lib/fuse_opt.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - opts
    - opt
    - esc
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: add_opt_common
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - alloc_failed
    - realloc
    - strlen
    linkageType: ''
    returnType: int
    signature: int add_opt_common(char **opts, const char *opt, int esc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_opt_common
      Src: /src/libfuse/lib/fuse_opt.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opts
    - opt
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: fuse_opt_add_opt
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 1
    functionsReached:
    - add_opt_common
    linkageType: ''
    returnType: int
    signature: int fuse_opt_add_opt(char **opts, const char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_opt_common
      Src: /src/libfuse/lib/fuse_opt.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opts
    - opt
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: fuse_opt_add_opt_escaped
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - add_opt_common
    linkageType: ''
    returnType: int
    signature: int fuse_opt_add_opt_escaped(char **opts, const char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_opt_common
      Src: /src/libfuse/lib/fuse_opt.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - opt
    argTypes:
    - struct fuse_opt_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: add_opt
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 1
    functionsReached:
    - add_opt_common
    linkageType: ''
    returnType: int
    signature: int add_opt(struct fuse_opt_context *ctx, const char *opt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct fuse_opt_context*::proc
      Src: /src/libfuse/lib/fuse_opt.c:161,1
    - Dst: add_opt
      Src: /src/libfuse/lib/fuse_opt.c:166,1
    - Dst: add_arg
      Src: /src/libfuse/lib/fuse_opt.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - arg
    - key
    - iso
    argTypes:
    - struct fuse_opt_context*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 169
    functionName: call_proc
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - struct fuse_opt_context*::proc
    - add_opt
    - add_arg
    linkageType: ''
    returnType: int
    signature: "int call_proc(struct fuse_opt_context *ctx, const char *arg, int key,\n\t\t
      \    int iso)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_opt.c:173,1
    - Dst: strchr
      Src: /src/libfuse/lib/fuse_opt.c:174,1
    - Dst: strchr
      Src: /src/libfuse/lib/fuse_opt.c:175,1
    - Dst: strncmp
      Src: /src/libfuse/lib/fuse_opt.c:180,1
    - Dst: strcmp
      Src: /src/libfuse/lib/fuse_opt.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - t
    - arg
    - sepp
    argTypes:
    - char*
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: match_template
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strchr
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int match_template(const char *t, const char *arg, unsigned *sepp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match_template
      Src: /src/libfuse/lib/fuse_opt.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - opt
    - arg
    - sepp
    argTypes:
    - struct fuse_opt*
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: find_opt
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - match_template
    linkageType: ''
    returnType: struct fuse_opt
    signature: "struct fuse_opt *find_opt(const struct fuse_opt *opt,\n\t\t\t\t       const
      char *arg, unsigned *sepp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_opt
      Src: /src/libfuse/lib/fuse_opt.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opts
    - opt
    argTypes:
    - struct fuse_opt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: fuse_opt_match
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - find_opt
    linkageType: ''
    returnType: int
    signature: int fuse_opt_match(const struct fuse_opt *opts, const char *opt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/lib/fuse_opt.c:210,1
    - Dst: strdup
      Src: /src/libfuse/lib/fuse_opt.c:213,1
    - Dst: alloc_failed
      Src: /src/libfuse/lib/fuse_opt.c:215,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_opt.c:217,1
    - Dst: sscanf
      Src: /src/libfuse/lib/fuse_opt.c:220,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_opt.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - var
    - format
    - param
    - arg
    argTypes:
    - void*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (format[0] == '%')
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/libfuse/lib/fuse_opt.c
    constantsTouched: []
    func_position:
      end: 226
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 226
    functionName: process_opt_param
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - strdup
    - sscanf
    - assert
    - fuse_log
    - free
    - alloc_failed
    linkageType: ''
    returnType: int
    signature: "int process_opt_param(void *var, const char *format, const char *param,\n\t\t\t
      \    const char *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: call_proc
      Src: /src/libfuse/lib/fuse_opt.c:233,1
    - Dst: process_opt_param
      Src: /src/libfuse/lib/fuse_opt.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - opt
    - sep
    - arg
    - iso
    argTypes:
    - struct fuse_opt_context*
    - struct fuse_opt*
    - unsigned
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 228
    functionDepth: 5
    functionLinenumber: 228
    functionLinenumberEnd: 248
    functionName: process_opt
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - process_opt_param
    - call_proc
    linkageType: ''
    returnType: int
    signature: "int process_opt(struct fuse_opt_context *ctx,\n\t\t       const struct
      fuse_opt *opt, unsigned sep,\n\t\t       const char *arg, int iso)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next_arg
      Src: /src/libfuse/lib/fuse_opt.c:258,1
    - Dst: malloc
      Src: /src/libfuse/lib/fuse_opt.c:262,1
    - Dst: strlen
      Src: /src/libfuse/lib/fuse_opt.c:262,1
    - Dst: alloc_failed
      Src: /src/libfuse/lib/fuse_opt.c:264,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse_opt.c:266,1
    - Dst: strcpy
      Src: /src/libfuse/lib/fuse_opt.c:267,1
    - Dst: process_opt
      Src: /src/libfuse/lib/fuse_opt.c:268,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_opt.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - opt
    - sep
    - arg
    - iso
    argTypes:
    - struct fuse_opt_context*
    - struct fuse_opt*
    - unsigned
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 250
    functionDepth: 6
    functionLinenumber: 250
    functionLinenumberEnd: 272
    functionName: process_opt_sep_arg
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - process_opt
    - strlen
    - free
    - alloc_failed
    - strcpy
    - next_arg
    linkageType: ''
    returnType: int
    signature: "int process_opt_sep_arg(struct fuse_opt_context *ctx,\n\t\t\t       const
      struct fuse_opt *opt, unsigned sep,\n\t\t\t       const char *arg, int iso)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_opt
      Src: /src/libfuse/lib/fuse_opt.c:277,1
    - Dst: find_opt
      Src: /src/libfuse/lib/fuse_opt.c:279,1
    - Dst: process_opt_sep_arg
      Src: /src/libfuse/lib/fuse_opt.c:282,1
    - Dst: process_opt
      Src: /src/libfuse/lib/fuse_opt.c:285,1
    - Dst: call_proc
      Src: /src/libfuse/lib/fuse_opt.c:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - arg
    - iso
    argTypes:
    - struct fuse_opt_context*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 274
    functionDepth: 7
    functionLinenumber: 274
    functionLinenumberEnd: 292
    functionName: process_gopt
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - find_opt
    - process_opt
    - call_proc
    - process_opt_sep_arg
    linkageType: ''
    returnType: int
    signature: int process_gopt(struct fuse_opt_context *ctx, const char *arg, int
      iso)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: process_gopt
      Src: /src/libfuse/lib/fuse_opt.c:307,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - opts
    argTypes:
    - struct fuse_opt_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 294
    functionDepth: 8
    functionLinenumber: 294
    functionLinenumberEnd: 332
    functionName: process_real_option_group
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - process_gopt
    linkageType: ''
    returnType: int
    signature: int process_real_option_group(struct fuse_opt_context *ctx, char *opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libfuse/lib/fuse_opt.c:337,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_opt.c:340,1
    - Dst: process_real_option_group
      Src: /src/libfuse/lib/fuse_opt.c:343,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_opt.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - opts
    argTypes:
    - struct fuse_opt_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 9
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: process_option_group
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - process_real_option_group
    - strdup
    - fuse_log
    - free
    linkageType: ''
    returnType: int
    signature: int process_option_group(struct fuse_opt_context *ctx, const char *opts)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: call_proc
      Src: /src/libfuse/lib/fuse_opt.c:351,1
    - Dst: process_option_group
      Src: /src/libfuse/lib/fuse_opt.c:354,1
    - Dst: next_arg
      Src: /src/libfuse/lib/fuse_opt.c:356,1
    - Dst: process_option_group
      Src: /src/libfuse/lib/fuse_opt.c:359,1
    - Dst: add_arg
      Src: /src/libfuse/lib/fuse_opt.c:363,1
    - Dst: process_gopt
      Src: /src/libfuse/lib/fuse_opt.c:368,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - struct fuse_opt_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 348
    functionDepth: 10
    functionLinenumber: 348
    functionLinenumberEnd: 369
    functionName: process_one
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 0
    functionsReached:
    - call_proc
    - add_arg
    - process_gopt
    - process_option_group
    - next_arg
    linkageType: ''
    returnType: int
    signature: int process_one(struct fuse_opt_context *ctx, const char *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: add_arg
      Src: /src/libfuse/lib/fuse_opt.c:374,1
    - Dst: process_one
      Src: /src/libfuse/lib/fuse_opt.c:379,1
    - Dst: fuse_opt_insert_arg
      Src: /src/libfuse/lib/fuse_opt.c:383,1
    - Dst: fuse_opt_insert_arg
      Src: /src/libfuse/lib/fuse_opt.c:384,1
    - Dst: strcmp
      Src: /src/libfuse/lib/fuse_opt.c:390,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_opt.c:391,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct fuse_opt_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 371
    functionDepth: 11
    functionLinenumber: 371
    functionLinenumberEnd: 396
    functionName: opt_parse
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 10
    functionsReached:
    - add_arg
    - strcmp
    - free
    - process_one
    - fuse_opt_insert_arg
    linkageType: ''
    returnType: int
    signature: int opt_parse(struct fuse_opt_context *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_parse
      Src: /src/libfuse/lib/fuse_opt.c:414,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_opt.c:420,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/lib/fuse_opt.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - args
    - data
    - opts
    - proc
    argTypes:
    - struct fuse_args*
    - void*
    - struct fuse_opt[]
    - fuse_opt_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 398
    functionDepth: 12
    functionLinenumber: 398
    functionLinenumberEnd: 423
    functionName: fuse_opt_parse
    functionSourceFile: /src/libfuse/lib/fuse_opt.c
    functionUses: 10
    functionsReached:
    - fuse_opt_free_args
    - free
    - opt_parse
    linkageType: ''
    returnType: int
    signature: "int fuse_opt_parse(struct fuse_args *args, void *data,\n\t\t   const
      struct fuse_opt opts[], fuse_opt_proc_t proc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bufv
    argTypes:
    - struct fuse_bufvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: fuse_buf_size
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t fuse_buf_size(const struct fuse_bufvec *bufv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: min_size
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t min_size(size_t s1, size_t s2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pwrite
      Src: /src/libfuse/lib/buffer.c:51,1
    - Dst: write
      Src: /src/libfuse/lib/buffer.c:54,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - dst
    - dst_off
    - src
    - src_off
    - len
    argTypes:
    - struct fuse_buf*
    - size_t
    - struct fuse_buf*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 74
    functionName: fuse_buf_write
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 0
    functionsReached:
    - pwrite
    - write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t fuse_buf_write(const struct fuse_buf *dst, size_t dst_off,\n\t\t\t
      \     const struct fuse_buf *src, size_t src_off,\n\t\t\t      size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/libfuse/lib/buffer.c:85,1
    - Dst: read
      Src: /src/libfuse/lib/buffer.c:88,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - dst
    - dst_off
    - src
    - src_off
    - len
    argTypes:
    - struct fuse_buf*
    - size_t
    - struct fuse_buf*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 108
    functionName: fuse_buf_read
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 0
    functionsReached:
    - pread
    - read
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t fuse_buf_read(const struct fuse_buf *dst, size_t dst_off,\n\t\t\t
      \    const struct fuse_buf *src, size_t src_off,\n\t\t\t     size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: min_size
      Src: /src/libfuse/lib/buffer.c:125,1
    - Dst: fuse_buf_read
      Src: /src/libfuse/lib/buffer.c:128,1
    - Dst: fuse_buf_write
      Src: /src/libfuse/lib/buffer.c:138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - dst
    - dst_off
    - src
    - src_off
    - len
    argTypes:
    - struct fuse_buf*
    - size_t
    - struct fuse_buf*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 158
    functionName: fuse_buf_fd_to_fd
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 0
    functionsReached:
    - fuse_buf_read
    - min_size
    - fuse_buf_write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t fuse_buf_fd_to_fd(const struct fuse_buf *dst, size_t dst_off,\n\t\t\t\t
      const struct fuse_buf *src, size_t src_off,\n\t\t\t\t size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: splice
      Src: /src/libfuse/lib/buffer.c:188,1
    - Dst: fuse_buf_fd_to_fd
      Src: /src/libfuse/lib/buffer.c:198,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 6
    argNames:
    - dst
    - dst_off
    - src
    - src_off
    - len
    - flags
    argTypes:
    - struct fuse_buf*
    - size_t
    - struct fuse_buf*
    - size_t
    - size_t
    - enum fuse_buf_copy_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 214
    functionName: fuse_buf_splice
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 0
    functionsReached:
    - fuse_buf_fd_to_fd
    - splice
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t fuse_buf_splice(const struct fuse_buf *dst, size_t dst_off,\n\t\t\t
      \      const struct fuse_buf *src, size_t src_off,\n\t\t\t       size_t len,
      enum fuse_buf_copy_flags flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_buf_fd_to_fd
      Src: /src/libfuse/lib/buffer.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - dst
    - dst_off
    - src
    - src_off
    - len
    - flags
    argTypes:
    - struct fuse_buf*
    - size_t
    - struct fuse_buf*
    - size_t
    - size_t
    - enum fuse_buf_copy_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: fuse_buf_splice
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 0
    functionsReached:
    - fuse_buf_fd_to_fd
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t fuse_buf_splice(const struct fuse_buf *dst, size_t dst_off,\n\t\t\t
      \      const struct fuse_buf *src, size_t src_off,\n\t\t\t       size_t len,
      enum fuse_buf_copy_flags flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libfuse/lib/buffer.c:240,1
    - Dst: memmove
      Src: /src/libfuse/lib/buffer.c:242,1
    - Dst: fuse_buf_write
      Src: /src/libfuse/lib/buffer.c:247,1
    - Dst: fuse_buf_read
      Src: /src/libfuse/lib/buffer.c:249,1
    - Dst: fuse_buf_fd_to_fd
      Src: /src/libfuse/lib/buffer.c:251,1
    - Dst: fuse_buf_splice
      Src: /src/libfuse/lib/buffer.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - dst
    - dst_off
    - src
    - src_off
    - len
    - flags
    argTypes:
    - struct fuse_buf*
    - size_t
    - struct fuse_buf*
    - size_t
    - size_t
    - enum fuse_buf_copy_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 255
    functionName: fuse_buf_copy_one
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 0
    functionsReached:
    - fuse_buf_read
    - memcpy
    - memmove
    - fuse_buf_splice
    - fuse_buf_write
    - fuse_buf_fd_to_fd
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t fuse_buf_copy_one(const struct fuse_buf *dst, size_t dst_off,\n\t\t\t\t
      const struct fuse_buf *src, size_t src_off,\n\t\t\t\t size_t len, enum fuse_buf_copy_flags
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bufv
    argTypes:
    - struct fuse_bufvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: fuse_bufvec_current
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct fuse_buf
    signature: struct fuse_buf *fuse_bufvec_current(struct fuse_bufvec *bufv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_bufvec_current
      Src: /src/libfuse/lib/buffer.c:267,1
    - Dst: assert
      Src: /src/libfuse/lib/buffer.c:273,1
    - Dst: assert
      Src: /src/libfuse/lib/buffer.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bufv
    - len
    argTypes:
    - struct fuse_bufvec*
    - size_t
    assertStmts:
    - condition: (bufv->idx < bufv->count)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/libfuse/lib/buffer.c
    - condition: (bufv->off <= buf->size)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/libfuse/lib/buffer.c
    constantsTouched: []
    func_position:
      end: 282
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 282
    functionName: fuse_bufvec_advance
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 0
    functionsReached:
    - fuse_bufvec_current
    - assert
    linkageType: ''
    returnType: int
    signature: int fuse_bufvec_advance(struct fuse_bufvec *bufv, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fuse_buf_size
      Src: /src/libfuse/lib/buffer.c:290,1
    - Dst: fuse_bufvec_current
      Src: /src/libfuse/lib/buffer.c:293,1
    - Dst: fuse_bufvec_current
      Src: /src/libfuse/lib/buffer.c:294,1
    - Dst: min_size
      Src: /src/libfuse/lib/buffer.c:305,1
    - Dst: fuse_buf_copy_one
      Src: /src/libfuse/lib/buffer.c:307,1
    - Dst: fuse_bufvec_advance
      Src: /src/libfuse/lib/buffer.c:315,1
    - Dst: fuse_bufvec_advance
      Src: /src/libfuse/lib/buffer.c:316,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - dstv
    - srcv
    - flags
    argTypes:
    - struct fuse_bufvec*
    - struct fuse_bufvec*
    - enum fuse_buf_copy_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 324
    functionName: fuse_buf_copy
    functionSourceFile: /src/libfuse/lib/buffer.c
    functionUses: 5
    functionsReached:
    - min_size
    - fuse_bufvec_current
    - fuse_bufvec_advance
    - fuse_buf_copy_one
    - fuse_buf_size
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t fuse_buf_copy(struct fuse_bufvec *dstv, struct fuse_bufvec
      *srcv,\n\t\t      enum fuse_buf_copy_flags flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mnt
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: umount2
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umount2(mnt, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: FUSE_MOUNT_OPT
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_MOUNT_OPT(t, p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: posix_spawn
      Src: /src/libfuse/lib/mount.c:139,1
    - Dst: posix_spawnp
      Src: /src/libfuse/lib/mount.c:143,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:148,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount.c:149,1
    - Dst: waitpid
      Src: /src/libfuse/lib/mount.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - action
    - argv
    - out_pid
    argTypes:
    - posix_spawn_file_actions_t*
    - char*[]
    - pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 159
    functionName: fusermount_posix_spawn
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 0
    functionsReached:
    - posix_spawnp
    - strerror
    - waitpid
    - posix_spawn
    - fuse_log
    linkageType: ''
    returnType: int
    signature: "int fusermount_posix_spawn(posix_spawn_file_actions_t *action,\n\t\t\t\t
      \ char const * const argv[], pid_t *out_pid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fusermount_posix_spawn
      Src: /src/libfuse/lib/mount.c:164,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: fuse_mount_version
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 1
    functionsReached:
    - fuse_log
    - fusermount_posix_spawn
    linkageType: ''
    returnType: void
    signature: void fuse_mount_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - struct mount_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: get_max_read
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned get_max_read(struct mount_opts *o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/lib/mount.c:211,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:219,1
    - Dst: abort
      Src: /src/libfuse/lib/mount.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 221
    functionName: set_mount_flag
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 0
    functionsReached:
    - strcmp
    - fuse_log
    - abort
    linkageType: ''
    returnType: void
    signature: void set_mount_flag(const char *s, int *flags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: set_mount_flag
      Src: /src/libfuse/lib/mount.c:234,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:238,1
    - Dst: fuse_opt_add_opt_escaped
      Src: /src/libfuse/lib/mount.c:241,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:244,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:247,1
    - Dst: strncmp
      Src: /src/libfuse/lib/mount.c:251,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - data
    - arg
    - key
    - outargs
    argTypes:
    - void*
    - char*
    - int
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 258
    functionName: fuse_mount_opt_proc
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 0
    functionsReached:
    - set_mount_flag
    - fuse_opt_add_opt_escaped
    - strncmp
    - fuse_opt_add_opt
    linkageType: ''
    returnType: int
    signature: "int fuse_mount_opt_proc(void *data, const char *arg, int key,\n\t\t\t
      \      struct fuse_args *outargs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/libfuse/lib/mount.c:270,1
    - Dst: memset
      Src: /src/libfuse/lib/mount.c:276,1
    - Dst: recvmsg
      Src: /src/libfuse/lib/mount.c:286,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:288,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount.c:288,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libfuse/lib/mount.c:296,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:298,1
    - Dst: CMSG_DATA
      Src: /src/libfuse/lib/mount.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 303
    functionName: receive_fd
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 0
    functionsReached:
    - CMSG_SPACE
    - strerror
    - CMSG_DATA
    - recvmsg
    - memset
    - fuse_log
    - CMSG_FIRSTHDR
    linkageType: ''
    returnType: int
    signature: int receive_fd(int fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/libfuse/lib/mount.c:314,1
    - Dst: close
      Src: /src/libfuse/lib/mount.c:321,1
    - Dst: geteuid
      Src: /src/libfuse/lib/mount.c:330,1
    - Dst: fuse_mnt_umount
      Src: /src/libfuse/lib/mount.c:331,1
    - Dst: umount2
      Src: /src/libfuse/lib/mount.c:335,1
    - Dst: fusermount_posix_spawn
      Src: /src/libfuse/lib/mount.c:342,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:344,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - mountpoint
    - fd
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 348
    functionName: fuse_kern_unmount
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 1
    functionsReached:
    - umount2
    - fuse_mnt_umount
    - poll
    - strerror
    - fuse_log
    - close
    - fusermount_posix_spawn
    - geteuid
    linkageType: ''
    returnType: void
    signature: void fuse_kern_unmount(const char *mountpoint, int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:357,1
    - Dst: socketpair
      Src: /src/libfuse/lib/mount.c:361,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:363,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount.c:364,1
    - Dst: snprintf
      Src: /src/libfuse/lib/mount.c:369,1
    - Dst: setenv
      Src: /src/libfuse/lib/mount.c:370,1
    - Dst: snprintf
      Src: /src/libfuse/lib/mount.c:377,1
    - Dst: setenv
      Src: /src/libfuse/lib/mount.c:378,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/libfuse/lib/mount.c:390,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/libfuse/lib/mount.c:393,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/libfuse/lib/mount.c:394,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/libfuse/lib/mount.c:396,1
    - Dst: fusermount_posix_spawn
      Src: /src/libfuse/lib/mount.c:402,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/libfuse/lib/mount.c:404,1
    - Dst: close
      Src: /src/libfuse/lib/mount.c:407,1
    - Dst: close
      Src: /src/libfuse/lib/mount.c:408,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:409,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount.c:410,1
    - Dst: close
      Src: /src/libfuse/lib/mount.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - mountpoint
    - quiet
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 420
    functionName: setup_auto_unmount
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 0
    functionsReached:
    - socketpair
    - posix_spawn_file_actions_init
    - strerror
    - fuse_log
    - setenv
    - posix_spawn_file_actions_addopen
    - posix_spawn_file_actions_destroy
    - close
    - fusermount_posix_spawn
    - posix_spawn_file_actions_addclose
    - snprintf
    linkageType: ''
    returnType: int
    signature: int setup_auto_unmount(const char *mountpoint, int quiet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:430,1
    - Dst: socketpair
      Src: /src/libfuse/lib/mount.c:434,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:436,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount.c:437,1
    - Dst: snprintf
      Src: /src/libfuse/lib/mount.c:442,1
    - Dst: setenv
      Src: /src/libfuse/lib/mount.c:443,1
    - Dst: snprintf
      Src: /src/libfuse/lib/mount.c:450,1
    - Dst: setenv
      Src: /src/libfuse/lib/mount.c:451,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/libfuse/lib/mount.c:463,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/libfuse/lib/mount.c:466,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/libfuse/lib/mount.c:467,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/libfuse/lib/mount.c:469,1
    - Dst: fusermount_posix_spawn
      Src: /src/libfuse/lib/mount.c:471,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/libfuse/lib/mount.c:473,1
    - Dst: close
      Src: /src/libfuse/lib/mount.c:476,1
    - Dst: close
      Src: /src/libfuse/lib/mount.c:477,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:478,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount.c:479,1
    - Dst: close
      Src: /src/libfuse/lib/mount.c:484,1
    - Dst: receive_fd
      Src: /src/libfuse/lib/mount.c:486,1
    - Dst: close
      Src: /src/libfuse/lib/mount.c:491,1
    - Dst: waitpid
      Src: /src/libfuse/lib/mount.c:492,1
    - Dst: fcntl
      Src: /src/libfuse/lib/mount.c:496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - mountpoint
    - mo
    - opts
    - quiet
    argTypes:
    - char*
    - struct mount_opts*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 499
    functionName: fuse_mount_fusermount
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 0
    functionsReached:
    - fcntl
    - socketpair
    - posix_spawn_file_actions_init
    - strerror
    - waitpid
    - receive_fd
    - fuse_log
    - setenv
    - posix_spawn_file_actions_addopen
    - posix_spawn_file_actions_destroy
    - close
    - fusermount_posix_spawn
    - posix_spawn_file_actions_addclose
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int fuse_mount_fusermount(const char *mountpoint, struct mount_opts
      *mo,\n\t\tconst char *opts, int quiet)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libfuse/lib/mount.c:509,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:517,1
    - Dst: stat
      Src: /src/libfuse/lib/mount.c:521,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:523,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount.c:524,1
    - Dst: open
      Src: /src/libfuse/lib/mount.c:528,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:531,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:535,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount.c:536,1
    - Dst: fcntl
      Src: /src/libfuse/lib/mount.c:540,1
    - Dst: snprintf
      Src: /src/libfuse/lib/mount.c:542,1
    - Dst: getuid
      Src: /src/libfuse/lib/mount.c:543,1
    - Dst: getgid
      Src: /src/libfuse/lib/mount.c:543,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:545,1
    - Dst: malloc
      Src: /src/libfuse/lib/mount.c:549,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount.c:549,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount.c:550,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount.c:551,1
    - Dst: malloc
      Src: /src/libfuse/lib/mount.c:553,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount.c:553,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:555,1
    - Dst: strcpy
      Src: /src/libfuse/lib/mount.c:559,1
    - Dst: strcat
      Src: /src/libfuse/lib/mount.c:561,1
    - Dst: strcat
      Src: /src/libfuse/lib/mount.c:562,1
    - Dst: strcpy
      Src: /src/libfuse/lib/mount.c:564,1
    - Dst: mount
      Src: /src/libfuse/lib/mount.c:567,1
    - Dst: strcpy
      Src: /src/libfuse/lib/mount.c:570,1
    - Dst: sprintf
      Src: /src/libfuse/lib/mount.c:573,1
    - Dst: strcpy
      Src: /src/libfuse/lib/mount.c:576,1
    - Dst: mount
      Src: /src/libfuse/lib/mount.c:578,1
    - Dst: fuse_mnt_check_fuseblk
      Src: /src/libfuse/lib/mount.c:590,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:591,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount.c:594,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount.c:595,1
    - Dst: geteuid
      Src: /src/libfuse/lib/mount.c:602,1
    - Dst: fuse_mnt_resolve_path
      Src: /src/libfuse/lib/mount.c:603,1
    - Dst: fuse_mnt_add_mount
      Src: /src/libfuse/lib/mount.c:608,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:610,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:615,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:616,1
    - Dst: umount2
      Src: /src/libfuse/lib/mount.c:621,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:623,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:624,1
    - Dst: close
      Src: /src/libfuse/lib/mount.c:625,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 3
    argNames:
    - mnt
    - mo
    - mnt_opts
    argTypes:
    - char*
    - struct mount_opts*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 627
    functionName: fuse_mount_sys
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 0
    functionsReached:
    - fcntl
    - malloc
    - fuse_mnt_check_fuseblk
    - strlen
    - mount
    - strcat
    - fuse_mnt_add_mount
    - close
    - geteuid
    - open
    - strcpy
    - snprintf
    - getuid
    - sprintf
    - stat
    - getenv
    - umount2
    - fuse_opt_add_opt
    - fuse_mnt_resolve_path
    - strerror
    - getgid
    - fuse_log
    - free
    linkageType: ''
    returnType: int
    signature: "int fuse_mount_sys(const char *mnt, struct mount_opts *mo,\n\t\t\t
      \ const char *mnt_opts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:633,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - mnt_optsp
    - flags
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 629
    functionDepth: 4
    functionLinenumber: 629
    functionLinenumberEnd: 642
    functionName: get_mnt_flag_opts
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 0
    functionsReached:
    - fuse_opt_add_opt
    linkageType: ''
    returnType: int
    signature: int get_mnt_flag_opts(char **mnt_optsp, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/mount.c:648,1
    - Dst: memset
      Src: /src/libfuse/lib/mount.c:652,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/mount.c:656,1
    - Dst: destroy_mount_opts
      Src: /src/libfuse/lib/mount.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 644
    functionDepth: 13
    functionLinenumber: 644
    functionLinenumberEnd: 664
    functionName: parse_mount_opts
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 2
    functionsReached:
    - malloc
    - memset
    - fuse_opt_parse
    - destroy_mount_opts
    linkageType: ''
    returnType: struct mount_opts
    signature: struct mount_opts *parse_mount_opts(struct fuse_args *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/mount.c:668,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:669,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:670,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:671,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:672,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:673,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - mo
    argTypes:
    - struct mount_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 675
    functionName: destroy_mount_opts
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void destroy_mount_opts(struct mount_opts *mo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_mnt_flag_opts
      Src: /src/libfuse/lib/mount.c:684,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:686,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:688,1
    - Dst: fuse_mount_sys
      Src: /src/libfuse/lib/mount.c:691,1
    - Dst: setup_auto_unmount
      Src: /src/libfuse/lib/mount.c:693,1
    - Dst: umount2
      Src: /src/libfuse/lib/mount.c:695,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:700,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:707,1
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount.c:708,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:709,1
    - Dst: fuse_mount_fusermount
      Src: /src/libfuse/lib/mount.c:713,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:714,1
    - Dst: fuse_mount_fusermount
      Src: /src/libfuse/lib/mount.c:716,1
    - Dst: fuse_mount_fusermount
      Src: /src/libfuse/lib/mount.c:719,1
    - Dst: free
      Src: /src/libfuse/lib/mount.c:723,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 2
    argNames:
    - mountpoint
    - mo
    argTypes:
    - char*
    - struct mount_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 678
    functionDepth: 5
    functionLinenumber: 678
    functionLinenumberEnd: 725
    functionName: fuse_kern_mount
    functionSourceFile: /src/libfuse/lib/mount.c
    functionUses: 2
    functionsReached:
    - umount2
    - fuse_opt_add_opt
    - get_mnt_flag_opts
    - fuse_mount_fusermount
    - free
    - setup_auto_unmount
    - fuse_mount_sys
    linkageType: ''
    returnType: int
    signature: int fuse_kern_mount(const char *mountpoint, struct mount_opts *mo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_parse_cmdline_30
      Src: /src/libfuse/lib/compat.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - args
    - opts
    argTypes:
    - struct fuse_args*
    - struct fuse_cmdline_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: fuse_parse_cmdline
    functionSourceFile: /src/libfuse/lib/compat.c
    functionUses: 3
    functionsReached:
    - fuse_parse_cmdline_30
    linkageType: ''
    returnType: int
    signature: "int fuse_parse_cmdline(struct fuse_args *args,\n\t\t       struct
      fuse_cmdline_opts *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_custom_io_30
      Src: /src/libfuse/lib/compat.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - se
    - io
    - fd
    argTypes:
    - struct fuse_session*
    - struct fuse_custom_io*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: fuse_session_custom_io
    functionSourceFile: /src/libfuse/lib/compat.c
    functionUses: 0
    functionsReached:
    - fuse_session_custom_io_30
    linkageType: ''
    returnType: int
    signature: "int fuse_session_custom_io(struct fuse_session *se,\n\t\t\tconst struct
      fuse_custom_io *io, int fd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_main_real_30
      Src: /src/libfuse/lib/compat.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - op
    - op_size
    - user_data
    argTypes:
    - int
    - char*[]
    - struct fuse_operations*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 11
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: fuse_main_real
    functionSourceFile: /src/libfuse/lib/compat.c
    functionUses: 0
    functionsReached:
    - fuse_main_real_30
    linkageType: ''
    returnType: int
    signature: "int fuse_main_real(int argc, char *argv[], const struct fuse_operations
      *op,\n\t\t   size_t op_size, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_new_30
      Src: /src/libfuse/lib/compat.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - args
    - op
    - op_size
    - userdata
    argTypes:
    - struct fuse_args*
    - struct fuse_lowlevel_ops*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: fuse_session_new
    functionSourceFile: /src/libfuse/lib/compat.c
    functionUses: 4
    functionsReached:
    - fuse_session_new_30
    linkageType: ''
    returnType: struct fuse_session
    signature: "struct fuse_session *fuse_session_new(struct fuse_args *args,\n\t\t\t\t
      \     const struct fuse_lowlevel_ops *op,\n\t\t\t\t      size_t op_size, void
      *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: __usdt_va_args
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_va_args(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: __usdt_va_args
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_va_args(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - group
    - ','
    - name
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: USDT
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT(group, name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - group
    - ','
    - name
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: USDT
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT(group, name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - group
    - ','
    - name
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: USDT_WITH_SEMA
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT_WITH_SEMA(group, name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - group
    - ','
    - name
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: USDT_WITH_SEMA
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT_WITH_SEMA(group, name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - group
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: USDT_IS_ACTIVE
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT_IS_ACTIVE(group, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: USDT_SEMA
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT_SEMA(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: USDT_DEFINE_SEMA
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT_DEFINE_SEMA(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: USDT_DECLARE_SEMA
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT_DECLARE_SEMA(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: USDT_SEMA_IS_ACTIVE
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT_SEMA_IS_ACTIVE(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - sema
    - ','
    - group
    - ','
    - name
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: USDT_WITH_EXPLICIT_SEMA
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT_WITH_EXPLICIT_SEMA(sema, group, name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - sema
    - ','
    - group
    - ','
    - name
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: USDT_WITH_EXPLICIT_SEMA
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USDT_WITH_EXPLICIT_SEMA(sema, group, name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - group
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: __usdt_sema_name
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_sema_name(group, name)
  - 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: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: __usdt_concat
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_concat(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: __usdt_apply
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_apply(fn, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - _
    - ','
    - _1
    - ','
    - _2
    - ','
    - _3
    - ','
    - _4
    - ','
    - _5
    - ','
    - _6
    - ','
    - _7
    - ','
    - _8
    - ','
    - _9
    - ','
    - _10
    - ','
    - _11
    - ','
    - _12
    - ','
    - 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
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: __usdt_nth
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_nth(_, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, N,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: __usdt_narg
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_narg(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: __usdt_narg
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_narg(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: __usdt_str_
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_str_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: __usdt_str
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_str(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: __usdt_asm_name
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_name(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 356
    functionName: __usdt_asm1
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm1(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: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: __usdt_asm2
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm2(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: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: __usdt_asm3
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm3(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: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: __usdt_asm5
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm5(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: __usdt_asm_strz_
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_strz_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: __usdt_asm_strz
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_strz(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 370
    functionName: __usdt_asm_str_
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_str_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: __usdt_asm_str
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_str(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 393
    functionName: __usdt_sema_implicit
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_sema_implicit(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: __usdt_sema_explicit
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_sema_explicit(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - group
    - ','
    - name
    - ','
    - sema_def
    - ','
    - sema
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 432
    functionName: __usdt_probe
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_probe(group, name, sema_def, sema, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    functionName: __usdt_argref
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_argref(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: __usdt_argref
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_argref(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 456
    functionName: __usdt_argref
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_argref(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: __usdt_asm_arg
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_arg(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: __usdt_asm_args
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_args(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: __usdt_is_arr
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_is_arr(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: __usdt_arg_size
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_arg_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: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    functionName: __usdt_is_signed
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_is_signed(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: __usdt_def_signed
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_def_signed(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: __usdt_maybe_signed
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_maybe_signed(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: __usdt_is_inttype
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_is_inttype(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: __usdt_inttype
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_inttype(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: __usdt_is_signed
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_is_signed(x)
  - 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: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: __usdt_asm_op
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_op(n, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 526
    functionName: __usdt_asm_ops0
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 527
    functionName: __usdt_asm_ops1
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 528
    functionName: __usdt_asm_ops2
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops2(a,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 529
    functionName: __usdt_asm_ops3
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops3(a,b,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    functionName: __usdt_asm_ops4
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops4(a,b,c,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: __usdt_asm_ops5
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops5(a,b,c,d,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 532
    functionName: __usdt_asm_ops6
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops6(a,b,c,d,e,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 533
    functionName: __usdt_asm_ops7
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops7(a,b,c,d,e,f,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 534
    functionName: __usdt_asm_ops8
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops8(a,b,c,d,e,f,g,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - x
    - )
    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: 535
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 535
    functionName: __usdt_asm_ops9
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops9(a,b,c,d,e,f,g,h,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - x
    - )
    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: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: __usdt_asm_ops10
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops10(a,b,c,d,e,f,g,h,i,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - x
    - )
    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: 537
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 537
    functionName: __usdt_asm_ops11
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops11(a,b,c,d,e,f,g,h,i,j,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - x
    - )
    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: 538
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 538
    functionName: __usdt_asm_ops12
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops12(a,b,c,d,e,f,g,h,i,j,k,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 539
    functionName: __usdt_asm_ops
    functionSourceFile: /src/libfuse/lib/usdt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __usdt_asm_ops(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mnt
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: umount2
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: umount2(mnt, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: mtab_needs_update
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mtab_needs_update(mnt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libfuse/lib/mount_util.c:49,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount_util.c:49,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount_util.c:50,1
    - Dst: lstat
      Src: /src/libfuse/lib/mount_util.c:59,1
    - Dst: getuid
      Src: /src/libfuse/lib/mount_util.c:67,1
    - Dst: setreuid
      Src: /src/libfuse/lib/mount_util.c:69,1
    - Dst: access
      Src: /src/libfuse/lib/mount_util.c:71,1
    - Dst: setreuid
      Src: /src/libfuse/lib/mount_util.c:74,1
    - Dst: access
      Src: /src/libfuse/lib/mount_util.c:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - mnt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 85
    functionName: mtab_needs_update
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 0
    functionsReached:
    - strncmp
    - getuid
    - lstat
    - access
    - strlen
    - setreuid
    linkageType: ''
    returnType: int
    signature: int mtab_needs_update(const char *mnt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/libfuse/lib/mount_util.c:96,1
    - Dst: sigaddset
      Src: /src/libfuse/lib/mount_util.c:97,1
    - Dst: sigprocmask
      Src: /src/libfuse/lib/mount_util.c:98,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:100,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:100,1
    - Dst: fork
      Src: /src/libfuse/lib/mount_util.c:104,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:106,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:106,1
    - Dst: sigprocmask
      Src: /src/libfuse/lib/mount_util.c:112,1
    - Dst: setuid
      Src: /src/libfuse/lib/mount_util.c:114,1
    - Dst: geteuid
      Src: /src/libfuse/lib/mount_util.c:114,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:115,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:115,1
    - Dst: execle
      Src: /src/libfuse/lib/mount_util.c:120,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:122,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:123,1
    - Dst: exit
      Src: /src/libfuse/lib/mount_util.c:124,1
    - Dst: waitpid
      Src: /src/libfuse/lib/mount_util.c:126,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:128,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:128,1
    - Dst: sigprocmask
      Src: /src/libfuse/lib/mount_util.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - progname
    - fsname
    - mnt
    - type
    - opts
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 137
    functionName: add_mount
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 1
    functionsReached:
    - setuid
    - geteuid
    - strerror
    - waitpid
    - fprintf
    - sigaddset
    - fork
    - sigemptyset
    - exit
    - execle
    - sigprocmask
    linkageType: ''
    returnType: int
    signature: "int add_mount(const char *progname, const char *fsname,\n\t\t       const
      char *mnt, const char *type, const char *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtab_needs_update
      Src: /src/libfuse/lib/mount_util.c:142,1
    - Dst: add_mount
      Src: /src/libfuse/lib/mount_util.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - progname
    - fsname
    - mnt
    - type
    - opts
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: fuse_mnt_add_mount
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 1
    functionsReached:
    - mtab_needs_update
    - add_mount
    linkageType: ''
    returnType: int
    signature: "int fuse_mnt_add_mount(const char *progname, const char *fsname,\n\t\t
      \      const char *mnt, const char *type, const char *opts)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/libfuse/lib/mount_util.c:155,1
    - Dst: sigaddset
      Src: /src/libfuse/lib/mount_util.c:156,1
    - Dst: sigprocmask
      Src: /src/libfuse/lib/mount_util.c:157,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:159,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:159,1
    - Dst: fork
      Src: /src/libfuse/lib/mount_util.c:163,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:165,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:165,1
    - Dst: sigprocmask
      Src: /src/libfuse/lib/mount_util.c:171,1
    - Dst: setuid
      Src: /src/libfuse/lib/mount_util.c:173,1
    - Dst: geteuid
      Src: /src/libfuse/lib/mount_util.c:173,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:174,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:174,1
    - Dst: execle
      Src: /src/libfuse/lib/mount_util.c:180,1
    - Dst: execle
      Src: /src/libfuse/lib/mount_util.c:183,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:186,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:187,1
    - Dst: exit
      Src: /src/libfuse/lib/mount_util.c:188,1
    - Dst: waitpid
      Src: /src/libfuse/lib/mount_util.c:190,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:192,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:192,1
    - Dst: sigprocmask
      Src: /src/libfuse/lib/mount_util.c:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - progname
    - rel_mnt
    - lazy
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 202
    functionName: exec_umount
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 0
    functionsReached:
    - setuid
    - geteuid
    - strerror
    - waitpid
    - fprintf
    - sigaddset
    - fork
    - sigemptyset
    - exit
    - execle
    - sigprocmask
    linkageType: ''
    returnType: int
    signature: int exec_umount(const char *progname, const char *rel_mnt, int lazy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtab_needs_update
      Src: /src/libfuse/lib/mount_util.c:209,1
    - Dst: umount2
      Src: /src/libfuse/lib/mount_util.c:210,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:212,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:213,1
    - Dst: exec_umount
      Src: /src/libfuse/lib/mount_util.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - progname
    - abs_mnt
    - rel_mnt
    - lazy
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 218
    functionName: fuse_mnt_umount
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 1
    functionsReached:
    - umount2
    - mtab_needs_update
    - strerror
    - fprintf
    - exec_umount
    linkageType: ''
    returnType: int
    signature: "int fuse_mnt_umount(const char *progname, const char *abs_mnt,\n\t\t
      \   const char *rel_mnt, int lazy)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/libfuse/lib/mount_util.c:227,1
    - Dst: sigaddset
      Src: /src/libfuse/lib/mount_util.c:228,1
    - Dst: sigprocmask
      Src: /src/libfuse/lib/mount_util.c:229,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:231,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:231,1
    - Dst: fork
      Src: /src/libfuse/lib/mount_util.c:235,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:237,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:237,1
    - Dst: sigprocmask
      Src: /src/libfuse/lib/mount_util.c:243,1
    - Dst: setuid
      Src: /src/libfuse/lib/mount_util.c:245,1
    - Dst: geteuid
      Src: /src/libfuse/lib/mount_util.c:245,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:246,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:246,1
    - Dst: execle
      Src: /src/libfuse/lib/mount_util.c:251,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:253,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:254,1
    - Dst: exit
      Src: /src/libfuse/lib/mount_util.c:255,1
    - Dst: waitpid
      Src: /src/libfuse/lib/mount_util.c:257,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:259,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:259,1
    - Dst: sigprocmask
      Src: /src/libfuse/lib/mount_util.c:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - progname
    - mnt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 267
    functionName: remove_mount
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 0
    functionsReached:
    - setuid
    - geteuid
    - strerror
    - waitpid
    - fprintf
    - sigaddset
    - fork
    - sigemptyset
    - exit
    - execle
    - sigprocmask
    linkageType: ''
    returnType: int
    signature: int remove_mount(const char *progname, const char *mnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtab_needs_update
      Src: /src/libfuse/lib/mount_util.c:271,1
    - Dst: remove_mount
      Src: /src/libfuse/lib/mount_util.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - progname
    - mnt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: fuse_mnt_remove_mount
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 0
    functionsReached:
    - remove_mount
    - mtab_needs_update
    linkageType: ''
    returnType: int
    signature: int fuse_mnt_remove_mount(const char *progname, const char *mnt)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:287,1
    - Dst: strdup
      Src: /src/libfuse/lib/mount_util.c:292,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:294,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount_util.c:300,1
    - Dst: strrchr
      Src: /src/libfuse/lib/mount_util.c:304,1
    - Dst: strcmp
      Src: /src/libfuse/lib/mount_util.c:313,1
    - Dst: strcmp
      Src: /src/libfuse/lib/mount_util.c:313,1
    - Dst: realpath
      Src: /src/libfuse/lib/mount_util.c:320,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:321,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_util.c:322,1
    - Dst: free
      Src: /src/libfuse/lib/mount_util.c:323,1
    - Dst: strdup
      Src: /src/libfuse/lib/mount_util.c:327,1
    - Dst: malloc
      Src: /src/libfuse/lib/mount_util.c:329,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount_util.c:329,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount_util.c:329,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount_util.c:331,1
    - Dst: sprintf
      Src: /src/libfuse/lib/mount_util.c:333,1
    - Dst: sprintf
      Src: /src/libfuse/lib/mount_util.c:335,1
    - Dst: free
      Src: /src/libfuse/lib/mount_util.c:338,1
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:340,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - progname
    - orig
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 342
    functionName: fuse_mnt_resolve_path
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 1
    functionsReached:
    - malloc
    - strdup
    - strrchr
    - realpath
    - strerror
    - sprintf
    - fprintf
    - strlen
    - strcmp
    - free
    linkageType: ''
    returnType: char
    signature: char *fuse_mnt_resolve_path(const char *progname, const char *orig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libfuse/lib/mount_util.c:347,1
    - Dst: fgets
      Src: /src/libfuse/lib/mount_util.c:351,1
    - Dst: strstr
      Src: /src/libfuse/lib/mount_util.c:352,1
    - Dst: fclose
      Src: /src/libfuse/lib/mount_util.c:353,1
    - Dst: fclose
      Src: /src/libfuse/lib/mount_util.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 359
    functionName: fuse_mnt_check_fuseblk
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 1
    functionsReached:
    - fclose
    - strstr
    - fopen
    - fgets
    linkageType: ''
    returnType: int
    signature: int fuse_mnt_check_fuseblk(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libfuse/lib/mount_util.c:367,1
    - Dst: sscanf
      Src: /src/libfuse/lib/mount_util.c:371,1
    - Dst: strlen
      Src: /src/libfuse/lib/mount_util.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - mountpoint
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 377
    functionName: fuse_mnt_parse_fuse_fd
    functionSourceFile: /src/libfuse/lib/mount_util.c
    functionUses: 2
    functionsReached:
    - sscanf
    - fprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: int fuse_mnt_parse_fuse_fd(const char *mountpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q_depth
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: fuse_ring_queue_size
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t fuse_ring_queue_size(const size_t q_depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fuse_ring
    - qid
    argTypes:
    - struct fuse_ring_pool*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: fuse_uring_get_queue
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct fuse_ring_queue
    signature: 'struct fuse_ring_queue *

      fuse_uring_get_queue(struct fuse_ring_pool *fuse_ring, int qid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sqe
    argTypes:
    - struct io_uring_sqe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: fuse_uring_get_sqe_cmd
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *fuse_uring_get_sqe_cmd(struct io_uring_sqe *sqe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - req
    - qid
    - commit_id
    argTypes:
    - struct fuse_uring_cmd_req*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: fuse_uring_sqe_set_req_data
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void fuse_uring_sqe_set_req_data(struct fuse_uring_cmd_req *req,\n\t\t\t\t\tconst
      unsigned int qid,\n\t\t\t\t\tconst unsigned int commit_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_sqe_set_data
      Src: /src/libfuse/lib/fuse_uring.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - sqe
    - req
    - cmd_op
    argTypes:
    - struct io_uring_sqe*
    - struct fuse_ring_ent*
    - __u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: fuse_uring_sqe_prepare
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - io_uring_sqe_set_data
    linkageType: ''
    returnType: void
    signature: "void fuse_uring_sqe_prepare(struct io_uring_sqe *sqe, struct fuse_ring_ent
      *req,\n\t\t       __u32 cmd_op)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_get_sqe
      Src: /src/libfuse/lib/fuse_uring.c:162,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:172,1
    - Dst: fuse_uring_sqe_prepare
      Src: /src/libfuse/lib/fuse_uring.c:177,1
    - Dst: fuse_uring_sqe_set_req_data
      Src: /src/libfuse/lib/fuse_uring.c:180,1
    - Dst: fuse_uring_get_sqe_cmd
      Src: /src/libfuse/lib/fuse_uring.c:180,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:184,1
    - Dst: io_uring_submit
      Src: /src/libfuse/lib/fuse_uring.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ring_pool
    - queue
    - ring_ent
    argTypes:
    - struct fuse_ring_pool*
    - struct fuse_ring_queue*
    - struct fuse_ring_ent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 192
    functionName: fuse_uring_commit_sqe
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - fuse_uring_sqe_prepare
    - fuse_uring_get_sqe_cmd
    - io_uring_get_sqe
    - io_uring_submit
    - fuse_log
    - fuse_uring_sqe_set_req_data
    linkageType: ''
    returnType: int
    signature: "int fuse_uring_commit_sqe(struct fuse_ring_pool *ring_pool,\n\t\t\t\t
      struct fuse_ring_queue *queue,\n\t\t\t\t struct fuse_ring_ent *ring_ent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libfuse/lib/fuse_uring.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - req
    - payload
    - payload_sz
    - mr
    argTypes:
    - fuse_req_t
    - char**
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: fuse_req_get_payload
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: int
    signature: "int fuse_req_get_payload(fuse_req_t req, char **payload, size_t *payload_sz,\n\t\t\t
      void **mr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libfuse/lib/fuse_uring.c:222,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:233,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse_uring.c:238,1
    - Dst: fuse_uring_commit_sqe
      Src: /src/libfuse/lib/fuse_uring.c:245,1
    - Dst: fuse_free_req
      Src: /src/libfuse/lib/fuse_uring.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - req
    - error
    - arg
    - argsize
    argTypes:
    - fuse_req_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 250
    functionName: send_reply_uring
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 1
    functionsReached:
    - memcpy
    - fuse_uring_commit_sqe
    - container_of
    - fuse_log
    - fuse_free_req
    linkageType: ''
    returnType: int
    signature: int send_reply_uring(fuse_req_t req, int error, const void *arg, size_t
      argsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libfuse/lib/fuse_uring.c:256,1
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/lib/fuse_uring.c:265,1
    - Dst: fuse_buf_copy
      Src: /src/libfuse/lib/fuse_uring.c:271,1
    - Dst: fuse_uring_commit_sqe
      Src: /src/libfuse/lib/fuse_uring.c:278,1
    - Dst: fuse_free_req
      Src: /src/libfuse/lib/fuse_uring.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - req
    - bufv
    - flags
    argTypes:
    - fuse_req_t
    - struct fuse_bufvec*
    - enum fuse_buf_copy_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 252
    functionDepth: 5
    functionLinenumber: 252
    functionLinenumberEnd: 283
    functionName: fuse_reply_data_uring
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 1
    functionsReached:
    - fuse_uring_commit_sqe
    - container_of
    - fuse_buf_copy
    - fuse_free_req
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: int
    signature: "int fuse_reply_data_uring(fuse_req_t req, struct fuse_bufvec *bufv,\n\t\t
      \   enum fuse_buf_copy_flags flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libfuse/lib/fuse_uring.c:291,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:308,1
    - Dst: memcpy
      Src: /src/libfuse/lib/fuse_uring.c:315,1
    - Dst: fuse_uring_commit_sqe
      Src: /src/libfuse/lib/fuse_uring.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - req
    - iov
    - count
    argTypes:
    - fuse_req_t
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 326
    functionName: fuse_send_msg_uring
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 1
    functionsReached:
    - memcpy
    - fuse_log
    - container_of
    - fuse_uring_commit_sqe
    linkageType: ''
    returnType: int
    signature: int fuse_send_msg_uring(fuse_req_t req, struct iovec *iov, int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_queue_init_params
      Src: /src/libfuse/lib/fuse_uring.c:357,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:359,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_uring.c:360,1
    - Dst: io_uring_register_files
      Src: /src/libfuse/lib/fuse_uring.c:364,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:367,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_uring.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - ring
    - qid
    - depth
    - fd
    - evfd
    argTypes:
    - struct io_uring*
    - size_t
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 374
    functionName: fuse_queue_setup_io_uring
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - io_uring_register_files
    - strerror
    - fuse_log
    - io_uring_queue_init_params
    linkageType: ''
    returnType: int
    signature: "int fuse_queue_setup_io_uring(struct io_uring *ring, size_t qid,\n\t\t\t\t
      \    size_t depth, int fd, int evfd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fuse_uring_get_queue
      Src: /src/libfuse/lib/fuse_uring.c:380,1
    - Dst: write
      Src: /src/libfuse/lib/fuse_uring.c:386,1
    - Dst: fprintf
      Src: /src/libfuse/lib/fuse_uring.c:388,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_uring.c:390,1
    - Dst: pthread_cancel
      Src: /src/libfuse/lib/fuse_uring.c:391,1
    - Dst: pthread_join
      Src: /src/libfuse/lib/fuse_uring.c:392,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_uring.c:397,1
    - Dst: io_uring_queue_exit
      Src: /src/libfuse/lib/fuse_uring.c:402,1
    - Dst: numa_free
      Src: /src/libfuse/lib/fuse_uring.c:407,1
    - Dst: numa_free
      Src: /src/libfuse/lib/fuse_uring.c:408,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_uring.c:412,1
    - Dst: pthread_cond_destroy
      Src: /src/libfuse/lib/fuse_uring.c:413,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/fuse_uring.c:414,1
    - Dst: free
      Src: /src/libfuse/lib/fuse_uring.c:415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - fuse_ring
    argTypes:
    - struct fuse_ring_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 416
    functionName: fuse_session_destruct_uring
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - strerror
    - pthread_cond_destroy
    - write
    - pthread_join
    - fprintf
    - fuse_uring_get_queue
    - free
    - close
    - pthread_mutex_destroy
    - io_uring_queue_exit
    - pthread_cancel
    - numa_free
    linkageType: ''
    returnType: void
    signature: void fuse_session_destruct_uring(struct fuse_ring_pool *fuse_ring)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_get_sqe
      Src: /src/libfuse/lib/fuse_uring.c:427,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:433,1
    - Dst: fuse_uring_sqe_prepare
      Src: /src/libfuse/lib/fuse_uring.c:437,1
    - Dst: fuse_uring_sqe_set_req_data
      Src: /src/libfuse/lib/fuse_uring.c:450,1
    - Dst: fuse_uring_get_sqe_cmd
      Src: /src/libfuse/lib/fuse_uring.c:450,1
    - Dst: io_uring_sq_ready
      Src: /src/libfuse/lib/fuse_uring.c:454,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:456,1
    - Dst: io_uring_get_sqe
      Src: /src/libfuse/lib/fuse_uring.c:463,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:465,1
    - Dst: io_uring_prep_poll_add
      Src: /src/libfuse/lib/fuse_uring.c:469,1
    - Dst: io_uring_sqe_set_data
      Src: /src/libfuse/lib/fuse_uring.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct fuse_ring_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 475
    functionName: fuse_uring_prepare_fetch_sqes
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - fuse_uring_sqe_prepare
    - io_uring_prep_poll_add
    - fuse_uring_get_sqe_cmd
    - io_uring_get_sqe
    - fuse_log
    - io_uring_sq_ready
    - fuse_uring_sqe_set_req_data
    - io_uring_sqe_set_data
    linkageType: ''
    returnType: int
    signature: int fuse_uring_prepare_fetch_sqes(struct fuse_ring_queue *queue)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_nprocs_conf
      Src: /src/libfuse/lib/fuse_uring.c:480,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:485,1
    - Dst: calloc
      Src: /src/libfuse/lib/fuse_uring.c:488,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:490,1
    - Dst: fuse_ring_queue_size
      Src: /src/libfuse/lib/fuse_uring.c:494,1
    - Dst: calloc
      Src: /src/libfuse/lib/fuse_uring.c:495,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:497,1
    - Dst: fuse_uring_get_queue
      Src: /src/libfuse/lib/fuse_uring.c:514,1
    - Dst: numa_node_of_cpu
      Src: /src/libfuse/lib/fuse_uring.c:517,1
    - Dst: pthread_cond_init
      Src: /src/libfuse/lib/fuse_uring.c:522,1
    - Dst: pthread_mutex_init
      Src: /src/libfuse/lib/fuse_uring.c:523,1
    - Dst: sem_init
      Src: /src/libfuse/lib/fuse_uring.c:524,1
    - Dst: fuse_session_destruct_uring
      Src: /src/libfuse/lib/fuse_uring.c:530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 533
    functionName: fuse_create_ring
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - fuse_ring_queue_size
    - get_nprocs_conf
    - numa_node_of_cpu
    - sem_init
    - pthread_cond_init
    - fuse_log
    - fuse_uring_get_queue
    - calloc
    - pthread_mutex_init
    - fuse_session_destruct_uring
    linkageType: ''
    returnType: struct fuse_ring_pool
    signature: struct fuse_ring_pool *fuse_create_ring(struct fuse_session *se)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_cqe_get_data
      Src: /src/libfuse/lib/fuse_uring.c:538,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:541,1
    - Dst: unlikely
      Src: /src/libfuse/lib/fuse_uring.c:554,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:559,1
    - Dst: abort
      Src: /src/libfuse/lib/fuse_uring.c:560,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_uring.c:563,1
    - Dst: memset
      Src: /src/libfuse/lib/fuse_uring.c:564,1
    - Dst: list_init_req
      Src: /src/libfuse/lib/fuse_uring.c:569,1
    - Dst: fuse_session_process_uring_cqe
      Src: /src/libfuse/lib/fuse_uring.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - queue
    - cqe
    argTypes:
    - struct fuse_ring_queue*
    - struct io_uring_cqe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 535
    functionDepth: 7
    functionLinenumber: 535
    functionLinenumberEnd: 573
    functionName: fuse_uring_handle_cqe
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - unlikely
    - list_init_req
    - fuse_session_process_uring_cqe
    - memset
    - fuse_log
    - abort
    - io_uring_cqe_get_data
    linkageType: ''
    returnType: void
    signature: "void fuse_uring_handle_cqe(struct fuse_ring_queue *queue,\n\t\t\t\t
      \ struct io_uring_cqe *cqe)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io_uring_for_each_cqe
      Src: /src/libfuse/lib/fuse_uring.c:584,1
    - Dst: io_uring_cqe_get_data
      Src: /src/libfuse/lib/fuse_uring.c:591,1
    - Dst: fuse_uring_handle_cqe
      Src: /src/libfuse/lib/fuse_uring.c:611,1
    - Dst: io_uring_cq_advance
      Src: /src/libfuse/lib/fuse_uring.c:616,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct fuse_ring_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 575
    functionDepth: 8
    functionLinenumber: 575
    functionLinenumberEnd: 619
    functionName: fuse_uring_queue_handle_cqes
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - io_uring_for_each_cqe
    - fuse_uring_handle_cqe
    - io_uring_cq_advance
    - io_uring_cqe_get_data
    linkageType: ''
    returnType: int
    signature: int fuse_uring_queue_handle_cqes(struct fuse_ring_queue *queue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO
      Src: /src/libfuse/lib/fuse_uring.c:630,1
    - Dst: CPU_SET
      Src: /src/libfuse/lib/fuse_uring.c:631,1
    - Dst: sched_setaffinity
      Src: /src/libfuse/lib/fuse_uring.c:632,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:634,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_uring.c:635,1
    - Dst: sched_get_priority_min
      Src: /src/libfuse/lib/fuse_uring.c:640,1
    - Dst: sched_setscheduler
      Src: /src/libfuse/lib/fuse_uring.c:646,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:648,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_uring.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - qid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 651
    functionName: fuse_uring_set_thread_core
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - CPU_SET
    - sched_get_priority_min
    - sched_setscheduler
    - strerror
    - fuse_log
    - CPU_ZERO
    - sched_setaffinity
    linkageType: ''
    returnType: void
    signature: void fuse_uring_set_thread_core(int qid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/libfuse/lib/fuse_uring.c:661,1
    - Dst: eventfd
      Src: /src/libfuse/lib/fuse_uring.c:663,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:666,1
    - Dst: strerror
      Src: /src/libfuse/lib/fuse_uring.c:668,1
    - Dst: fuse_queue_setup_io_uring
      Src: /src/libfuse/lib/fuse_uring.c:672,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:676,1
    - Dst: ROUND_UP
      Src: /src/libfuse/lib/fuse_uring.c:681,1
    - Dst: numa_alloc_local
      Src: /src/libfuse/lib/fuse_uring.c:695,1
    - Dst: numa_alloc_local
      Src: /src/libfuse/lib/fuse_uring.c:699,1
    - Dst: pthread_mutex_init
      Src: /src/libfuse/lib/fuse_uring.c:702,1
    - Dst: list_init_req
      Src: /src/libfuse/lib/fuse_uring.c:705,1
    - Dst: fuse_uring_prepare_fetch_sqes
      Src: /src/libfuse/lib/fuse_uring.c:708,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:710,1
    - Dst: fuse_session_exit
      Src: /src/libfuse/lib/fuse_uring.c:714,1
    - Dst: close
      Src: /src/libfuse/lib/fuse_uring.c:720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct fuse_ring_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 722
    functionName: fuse_uring_init_queue
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - numa_alloc_local
    - sysconf
    - strerror
    - list_init_req
    - ROUND_UP
    - fuse_log
    - pthread_mutex_init
    - fuse_queue_setup_io_uring
    - eventfd
    - close
    - fuse_session_exit
    - fuse_uring_prepare_fetch_sqes
    linkageType: ''
    returnType: int
    signature: int fuse_uring_init_queue(struct fuse_ring_queue *queue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libfuse/lib/fuse_uring.c:732,1
    - Dst: fuse_set_thread_name
      Src: /src/libfuse/lib/fuse_uring.c:734,1
    - Dst: fuse_uring_set_thread_core
      Src: /src/libfuse/lib/fuse_uring.c:736,1
    - Dst: fuse_uring_init_queue
      Src: /src/libfuse/lib/fuse_uring.c:738,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_uring.c:739,1
    - Dst: pthread_cond_broadcast
      Src: /src/libfuse/lib/fuse_uring.c:743,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_uring.c:744,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:747,1
    - Dst: sem_wait
      Src: /src/libfuse/lib/fuse_uring.c:752,1
    - Dst: atomic_load_explicit
      Src: /src/libfuse/lib/fuse_uring.c:755,1
    - Dst: io_uring_submit_and_wait
      Src: /src/libfuse/lib/fuse_uring.c:756,1
    - Dst: fuse_uring_queue_handle_cqes
      Src: /src/libfuse/lib/fuse_uring.c:758,1
    - Dst: fuse_session_exit
      Src: /src/libfuse/lib/fuse_uring.c:766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 724
    functionDepth: 9
    functionLinenumber: 724
    functionLinenumberEnd: 769
    functionName: fuse_uring_thread
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - fuse_uring_set_thread_core
    - pthread_mutex_lock
    - sem_wait
    - io_uring_submit_and_wait
    - pthread_cond_broadcast
    - fuse_uring_queue_handle_cqes
    - pthread_mutex_unlock
    - fuse_session_exit
    - fuse_log
    - fuse_set_thread_name
    - fuse_uring_init_queue
    - snprintf
    linkageType: ''
    returnType: void
    signature: void *fuse_uring_thread(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_uring_get_queue
      Src: /src/libfuse/lib/fuse_uring.c:776,1
    - Dst: pthread_create
      Src: /src/libfuse/lib/fuse_uring.c:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct fuse_ring_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 784
    functionName: fuse_uring_start_ring_threads
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - fuse_uring_get_queue
    linkageType: ''
    returnType: int
    signature: int fuse_uring_start_ring_threads(struct fuse_ring_pool *ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_log
      Src: /src/libfuse/lib/fuse_uring.c:789,1
    - Dst: _Static_assert
      Src: /src/libfuse/lib/fuse_uring.c:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 798
    functionName: fuse_uring_sanity_check
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - _Static_assert
    linkageType: ''
    returnType: int
    signature: int fuse_uring_sanity_check(struct fuse_session *se)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fuse_uring_sanity_check
      Src: /src/libfuse/lib/fuse_uring.c:805,1
    - Dst: fuse_create_ring
      Src: /src/libfuse/lib/fuse_uring.c:807,1
    - Dst: sem_init
      Src: /src/libfuse/lib/fuse_uring.c:816,1
    - Dst: pthread_cond_init
      Src: /src/libfuse/lib/fuse_uring.c:817,1
    - Dst: pthread_mutex_init
      Src: /src/libfuse/lib/fuse_uring.c:818,1
    - Dst: fuse_uring_start_ring_threads
      Src: /src/libfuse/lib/fuse_uring.c:820,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/fuse_uring.c:827,1
    - Dst: pthread_cond_wait
      Src: /src/libfuse/lib/fuse_uring.c:829,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/fuse_uring.c:834,1
    - Dst: fuse_session_destruct_uring
      Src: /src/libfuse/lib/fuse_uring.c:839,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 843
    functionName: fuse_uring_start
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 1
    functionsReached:
    - fuse_create_ring
    - pthread_mutex_lock
    - fuse_uring_sanity_check
    - sem_init
    - pthread_cond_init
    - pthread_mutex_unlock
    - pthread_cond_wait
    - pthread_mutex_init
    - fuse_session_destruct_uring
    - fuse_uring_start_ring_threads
    linkageType: ''
    returnType: int
    signature: int fuse_uring_start(struct fuse_session *se)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_destruct_uring
      Src: /src/libfuse/lib/fuse_uring.c:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 845
    functionDepth: 2
    functionLinenumber: 845
    functionLinenumberEnd: 855
    functionName: fuse_uring_stop
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 2
    functionsReached:
    - fuse_session_destruct_uring
    linkageType: ''
    returnType: int
    signature: int fuse_uring_stop(struct fuse_session *se)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sem_post
      Src: /src/libfuse/lib/fuse_uring.c:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 864
    functionName: fuse_uring_wake_ring_threads
    functionSourceFile: /src/libfuse/lib/fuse_uring.c
    functionUses: 1
    functionsReached:
    - sem_post
    linkageType: ''
    returnType: void
    signature: void fuse_uring_wake_ring_threads(struct fuse_session *se)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sym1
    - ','
    - sym2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: FUSE_SYMVER
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_SYMVER(sym1, sym2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sym1
    - ','
    - sym2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: FUSE_SYMVER
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_SYMVER(sym1, sym2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ST_ATIM_NSEC
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_ATIM_NSEC(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: ST_CTIM_NSEC
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_CTIM_NSEC(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: ST_MTIM_NSEC
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_MTIM_NSEC(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stbuf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: ST_ATIM_NSEC_SET
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_ATIM_NSEC_SET(stbuf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stbuf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: ST_CTIM_NSEC_SET
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_CTIM_NSEC_SET(stbuf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stbuf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ST_MTIM_NSEC_SET
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_MTIM_NSEC_SET(stbuf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: ST_ATIM_NSEC
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_ATIM_NSEC(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: ST_CTIM_NSEC
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_CTIM_NSEC(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: ST_MTIM_NSEC
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_MTIM_NSEC(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stbuf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ST_ATIM_NSEC_SET
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_ATIM_NSEC_SET(stbuf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stbuf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: ST_CTIM_NSEC_SET
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_CTIM_NSEC_SET(stbuf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stbuf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: ST_MTIM_NSEC_SET
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_MTIM_NSEC_SET(stbuf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: ST_ATIM_NSEC
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_ATIM_NSEC(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: ST_CTIM_NSEC
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_CTIM_NSEC(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: ST_MTIM_NSEC
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_MTIM_NSEC(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stbuf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: ST_ATIM_NSEC_SET
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_ATIM_NSEC_SET(stbuf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stbuf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: ST_CTIM_NSEC_SET
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_CTIM_NSEC_SET(stbuf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stbuf
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: ST_MTIM_NSEC_SET
    functionSourceFile: /src/libfuse/lib/fuse_misc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_MTIM_NSEC_SET(stbuf, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - templ
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: FUSE_DUAL_OPT_KEY
    functionSourceFile: /src/libfuse/lib/mount_bsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUSE_DUAL_OPT_KEY(templ, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system
      Src: /src/libfuse/lib/mount_bsd.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: fuse_mount_version
    functionSourceFile: /src/libfuse/lib/mount_bsd.c
    functionUses: 1
    functionsReached:
    - system
    linkageType: ''
    returnType: void
    signature: void fuse_mount_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - struct mount_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: get_max_read
    functionSourceFile: /src/libfuse/lib/mount_bsd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned get_max_read(struct mount_opts *o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_opt_add_opt
      Src: /src/libfuse/lib/mount_bsd.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - arg
    - key
    - outargs
    argTypes:
    - void*
    - char*
    - int
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: fuse_mount_opt_proc
    functionSourceFile: /src/libfuse/lib/mount_bsd.c
    functionUses: 0
    functionsReached:
    - fuse_opt_add_opt
    linkageType: ''
    returnType: int
    signature: "int fuse_mount_opt_proc(void *data, const char *arg, int key,\n\t\t\t
      \      struct fuse_args *outargs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/lib/mount_bsd.c:127,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount_bsd.c:128,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_bsd.c:128,1
    - Dst: unmount
      Src: /src/libfuse/lib/mount_bsd.c:129,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount_bsd.c:130,1
    - Dst: strerror
      Src: /src/libfuse/lib/mount_bsd.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - mountpoint
    - fd
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: fuse_kern_unmount
    functionSourceFile: /src/libfuse/lib/mount_bsd.c
    functionUses: 1
    functionsReached:
    - strerror
    - close
    - fuse_log
    - unmount
    linkageType: ''
    returnType: void
    signature: void fuse_kern_unmount(const char *mountpoint, int fd)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libfuse/lib/mount_bsd.c:143,1
    - Dst: libfuse_strtol
      Src: /src/libfuse/lib/mount_bsd.c:146,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/mount_bsd.c:148,1
    - Dst: getenv
      Src: /src/libfuse/lib/mount_bsd.c:155,1
    - Dst: open
      Src: /src/libfuse/lib/mount_bsd.c:160,1
    - Dst: perror
      Src: /src/libfuse/lib/mount_bsd.c:161,1
    - Dst: getenv
      Src: /src/libfuse/lib/mount_bsd.c:166,1
    - Dst: fork
      Src: /src/libfuse/lib/mount_bsd.c:169,1
    - Dst: perror
      Src: /src/libfuse/lib/mount_bsd.c:173,1
    - Dst: close
      Src: /src/libfuse/lib/mount_bsd.c:174,1
    - Dst: fork
      Src: /src/libfuse/lib/mount_bsd.c:179,1
    - Dst: perror
      Src: /src/libfuse/lib/mount_bsd.c:182,1
    - Dst: close
      Src: /src/libfuse/lib/mount_bsd.c:183,1
    - Dst: _exit
      Src: /src/libfuse/lib/mount_bsd.c:184,1
    - Dst: asprintf
      Src: /src/libfuse/lib/mount_bsd.c:194,1
    - Dst: perror
      Src: /src/libfuse/lib/mount_bsd.c:197,1
    - Dst: close
      Src: /src/libfuse/lib/mount_bsd.c:198,1
    - Dst: _exit
      Src: /src/libfuse/lib/mount_bsd.c:199,1
    - Dst: execvp
      Src: /src/libfuse/lib/mount_bsd.c:211,1
    - Dst: perror
      Src: /src/libfuse/lib/mount_bsd.c:212,1
    - Dst: free
      Src: /src/libfuse/lib/mount_bsd.c:213,1
    - Dst: _exit
      Src: /src/libfuse/lib/mount_bsd.c:214,1
    - Dst: waitpid
      Src: /src/libfuse/lib/mount_bsd.c:217,1
    - Dst: WIFEXITED
      Src: /src/libfuse/lib/mount_bsd.c:218,1
    - Dst: _exit
      Src: /src/libfuse/lib/mount_bsd.c:219,1
    - Dst: _exit
      Src: /src/libfuse/lib/mount_bsd.c:220,1
    - Dst: WEXITSTATUS
      Src: /src/libfuse/lib/mount_bsd.c:220,1
    - Dst: waitpid
      Src: /src/libfuse/lib/mount_bsd.c:223,1
    - Dst: WEXITSTATUS
      Src: /src/libfuse/lib/mount_bsd.c:223,1
    - Dst: perror
      Src: /src/libfuse/lib/mount_bsd.c:224,1
    - Dst: close
      Src: /src/libfuse/lib/mount_bsd.c:225,1
    - Dst: perror
      Src: /src/libfuse/lib/mount_bsd.c:226,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 2
    argNames:
    - mountpoint
    - opts
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 232
    functionName: fuse_mount_core
    functionSourceFile: /src/libfuse/lib/mount_bsd.c
    functionUses: 0
    functionsReached:
    - perror
    - _exit
    - WEXITSTATUS
    - WIFEXITED
    - asprintf
    - waitpid
    - open
    - fuse_log
    - getenv
    - fork
    - free
    - execvp
    - close
    - libfuse_strtol
    linkageType: ''
    returnType: int
    signature: int fuse_mount_core(const char *mountpoint, const char *opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/lib/mount_bsd.c:238,1
    - Dst: memset
      Src: /src/libfuse/lib/mount_bsd.c:242,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/mount_bsd.c:245,1
    - Dst: destroy_mount_opts
      Src: /src/libfuse/lib/mount_bsd.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 13
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: parse_mount_opts
    functionSourceFile: /src/libfuse/lib/mount_bsd.c
    functionUses: 2
    functionsReached:
    - malloc
    - memset
    - fuse_opt_parse
    - destroy_mount_opts
    linkageType: ''
    returnType: struct mount_opts
    signature: struct mount_opts *parse_mount_opts(struct fuse_args *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libfuse/lib/mount_bsd.c:257,1
    - Dst: free
      Src: /src/libfuse/lib/mount_bsd.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mo
    argTypes:
    - struct mount_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: destroy_mount_opts
    functionSourceFile: /src/libfuse/lib/mount_bsd.c
    functionUses: 5
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void destroy_mount_opts(struct mount_opts *mo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/libfuse/lib/mount_bsd.c:264,1
    - Dst: setenv
      Src: /src/libfuse/lib/mount_bsd.c:266,1
    - Dst: fuse_mount_core
      Src: /src/libfuse/lib/mount_bsd.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mountpoint
    - mo
    argTypes:
    - char*
    - struct mount_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: fuse_kern_mount
    functionSourceFile: /src/libfuse/lib/mount_bsd.c
    functionUses: 2
    functionsReached:
    - fuse_mount_core
    - setenv
    linkageType: ''
    returnType: int
    signature: int fuse_kern_mount(const char *mountpoint, struct mount_opts *mo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: req_clop
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct cuse_lowlevel_ops
    signature: struct cuse_lowlevel_ops *req_clop(fuse_req_t req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_clop
      Src: /src/libfuse/lib/cuse_lowlevel.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: cuse_fll_open
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - req_clop
    linkageType: ''
    returnType: void
    signature: "void cuse_fll_open(fuse_req_t req, fuse_ino_t ino,\n\t\t\t  struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_clop
      Src: /src/libfuse/lib/cuse_lowlevel.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: cuse_fll_read
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - req_clop
    linkageType: ''
    returnType: void
    signature: "void cuse_fll_read(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t
      \ off_t off, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_clop
      Src: /src/libfuse/lib/cuse_lowlevel.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - req
    - ino
    - buf
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: cuse_fll_write
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - req_clop
    linkageType: ''
    returnType: void
    signature: "void cuse_fll_write(fuse_req_t req, fuse_ino_t ino, const char *buf,\n\t\t\t
      \  size_t size, off_t off, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_clop
      Src: /src/libfuse/lib/cuse_lowlevel.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: cuse_fll_flush
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - req_clop
    linkageType: ''
    returnType: void
    signature: "void cuse_fll_flush(fuse_req_t req, fuse_ino_t ino,\n\t\t\t   struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_clop
      Src: /src/libfuse/lib/cuse_lowlevel.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: cuse_fll_release
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - req_clop
    linkageType: ''
    returnType: void
    signature: "void cuse_fll_release(fuse_req_t req, fuse_ino_t ino,\n\t\t\t     struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_clop
      Src: /src/libfuse/lib/cuse_lowlevel.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - req
    - ino
    - datasync
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: cuse_fll_fsync
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - req_clop
    linkageType: ''
    returnType: void
    signature: "void cuse_fll_fsync(fuse_req_t req, fuse_ino_t ino, int datasync,\n\t\t\t
      \  struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_clop
      Src: /src/libfuse/lib/cuse_lowlevel.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - req
    - ino
    - cmd
    - arg
    - fi
    - flags
    - in_buf
    - in_bufsz
    - out_bufsz
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - unsigned int
    - void*
    - struct fuse_file_info*
    - unsigned int
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: cuse_fll_ioctl
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - req_clop
    linkageType: ''
    returnType: void
    signature: "void cuse_fll_ioctl(fuse_req_t req, fuse_ino_t ino, unsigned int cmd,
      void *arg,\n\t\t\t   struct fuse_file_info *fi, unsigned int flags,\n\t\t\t
      \  const void *in_buf, size_t in_bufsz, size_t out_bufsz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_clop
      Src: /src/libfuse/lib/cuse_lowlevel.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - req
    - ino
    - fi
    - ph
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    - struct fuse_pollhandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: cuse_fll_poll
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - req_clop
    linkageType: ''
    returnType: void
    signature: "void cuse_fll_poll(fuse_req_t req, fuse_ino_t ino,\n\t\t\t  struct
      fuse_file_info *fi, struct fuse_pollhandle *ph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/cuse_lowlevel.c:104,1
    - Dst: memcpy
      Src: /src/libfuse/lib/cuse_lowlevel.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - argc
    - argv
    - buf
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: cuse_pack_info
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t cuse_pack_info(int argc, const char **argv, char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cuse_pack_info
      Src: /src/libfuse/lib/cuse_lowlevel.c:121,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:125,1
    - Dst: calloc
      Src: /src/libfuse/lib/cuse_lowlevel.c:130,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:132,1
    - Dst: memcpy
      Src: /src/libfuse/lib/cuse_lowlevel.c:136,1
    - Dst: cuse_pack_info
      Src: /src/libfuse/lib/cuse_lowlevel.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ci
    - clop
    argTypes:
    - struct cuse_info*
    - struct cuse_lowlevel_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 145
    functionName: cuse_prep_data
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memcpy
    - fuse_log
    - cuse_pack_info
    - calloc
    linkageType: ''
    returnType: struct cuse_data
    signature: "struct cuse_data *cuse_prep_data(const struct cuse_info *ci,\n\t\t\t\t\tconst
      struct cuse_lowlevel_ops *clop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cuse_prep_data
      Src: /src/libfuse/lib/cuse_lowlevel.c:156,1
    - Dst: memset
      Src: /src/libfuse/lib/cuse_lowlevel.c:160,1
    - Dst: fuse_session_new
      Src: /src/libfuse/lib/cuse_lowlevel.c:172,1
    - Dst: free
      Src: /src/libfuse/lib/cuse_lowlevel.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - args
    - ci
    - clop
    - userdata
    argTypes:
    - struct fuse_args*
    - struct cuse_info*
    - struct cuse_lowlevel_ops*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 180
    functionName: cuse_lowlevel_new
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - memset
    - fuse_session_new
    - free
    - cuse_prep_data
    linkageType: ''
    returnType: struct fuse_session
    signature: "struct fuse_session *cuse_lowlevel_new(struct fuse_args *args,\n\t\t\t\t
      \      const struct cuse_info *ci,\n\t\t\t\t       const struct cuse_lowlevel_ops
      *clop,\n\t\t\t\t       void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_send_reply_iov_nofree
      Src: /src/libfuse/lib/cuse_lowlevel.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - req
    - arg
    - dev_info
    - dev_info_len
    argTypes:
    - fuse_req_t
    - struct cuse_init_out*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: cuse_reply_init
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_send_reply_iov_nofree
    linkageType: ''
    returnType: int
    signature: "int cuse_reply_init(fuse_req_t req, struct cuse_init_out *arg,\n\t\t\t
      \  char *dev_info, unsigned dev_info_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: req_clop
      Src: /src/libfuse/lib/cuse_lowlevel.c:204,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:208,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:209,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:219,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/lib/cuse_lowlevel.c:221,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:226,1
    - Dst: struct fuse_session*::op::init
      Src: /src/libfuse/lib/cuse_lowlevel.c:237,1
    - Dst: memset
      Src: /src/libfuse/lib/cuse_lowlevel.c:239,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:249,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:251,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:252,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:253,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:254,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:255,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:256,1
    - Dst: cuse_reply_init
      Src: /src/libfuse/lib/cuse_lowlevel.c:260,1
    - Dst: struct cuse_lowlevel_ops*::init_done
      Src: /src/libfuse/lib/cuse_lowlevel.c:263,1
    - Dst: fuse_free_req
      Src: /src/libfuse/lib/cuse_lowlevel.c:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 4
    argNames:
    - req
    - nodeid
    - op_in
    - req_payload
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 266
    functionName: _cuse_lowlevel_init
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - cuse_reply_init
    - req_clop
    - memset
    - struct cuse_lowlevel_ops*::init_done
    - fuse_log
    - struct fuse_session*::op::init
    - fuse_reply_err
    - fuse_free_req
    linkageType: ''
    returnType: void
    signature: "void _cuse_lowlevel_init(fuse_req_t req, const fuse_ino_t nodeid,\n\t\t\t
      const void *op_in, const void *req_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cuse_lowlevel_init
      Src: /src/libfuse/lib/cuse_lowlevel.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nodeid
    - inarg
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 7
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: cuse_lowlevel_init
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 1
    functionsReached:
    - _cuse_lowlevel_init
    linkageType: ''
    returnType: void
    signature: void cuse_lowlevel_init(fuse_req_t req, fuse_ino_t nodeid, const void
      *inarg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_OPT_KEY
      Src: /src/libfuse/lib/cuse_lowlevel.c:280,1
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/lib/cuse_lowlevel.c:283,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/lib/cuse_lowlevel.c:289,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/cuse_lowlevel.c:294,1
    - Dst: open
      Src: /src/libfuse/lib/cuse_lowlevel.c:303,1
    - Dst: close
      Src: /src/libfuse/lib/cuse_lowlevel.c:305,1
    - Dst: cuse_lowlevel_new
      Src: /src/libfuse/lib/cuse_lowlevel.c:308,1
    - Dst: open
      Src: /src/libfuse/lib/cuse_lowlevel.c:312,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:315,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/cuse_lowlevel.c:317,1
    - Dst: strerror
      Src: /src/libfuse/lib/cuse_lowlevel.c:318,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/lib/cuse_lowlevel.c:323,1
    - Dst: fuse_daemonize
      Src: /src/libfuse/lib/cuse_lowlevel.c:327,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/lib/cuse_lowlevel.c:331,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/lib/cuse_lowlevel.c:335,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/lib/cuse_lowlevel.c:337,1
    - Dst: free
      Src: /src/libfuse/lib/cuse_lowlevel.c:339,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/lib/cuse_lowlevel.c:340,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 6
    argNames:
    - argc
    - argv
    - ci
    - clop
    - multithreaded
    - userdata
    argTypes:
    - int
    - char*[]
    - struct cuse_info*
    - struct cuse_lowlevel_ops*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 273
    functionDepth: 13
    functionLinenumber: 273
    functionLinenumberEnd: 342
    functionName: cuse_lowlevel_setup
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_set_signal_handlers
    - fuse_remove_signal_handlers
    - FUSE_OPT_KEY
    - strerror
    - cuse_lowlevel_new
    - open
    - fuse_opt_free_args
    - fuse_daemonize
    - fuse_opt_parse
    - fuse_parse_cmdline
    - fuse_log
    - free
    - fuse_session_destroy
    - close
    - FUSE_ARGS_INIT
    linkageType: ''
    returnType: struct fuse_session
    signature: "struct fuse_session *cuse_lowlevel_setup(int argc, char *argv[],\n\t\t\t\t\t
      const struct cuse_info *ci,\n\t\t\t\t\t const struct cuse_lowlevel_ops *clop,\n\t\t\t\t\t
      int *multithreaded, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/lib/cuse_lowlevel.c:346,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/lib/cuse_lowlevel.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct fuse_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: cuse_lowlevel_teardown
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_session_destroy
    - fuse_remove_signal_handlers
    linkageType: ''
    returnType: void
    signature: void cuse_lowlevel_teardown(struct fuse_session *se)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cuse_lowlevel_setup
      Src: /src/libfuse/lib/cuse_lowlevel.c:357,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/lib/cuse_lowlevel.c:363,1
    - Dst: fuse_session_loop_mt
      Src: /src/libfuse/lib/cuse_lowlevel.c:364,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/lib/cuse_lowlevel.c:365,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/lib/cuse_lowlevel.c:368,1
    - Dst: cuse_lowlevel_teardown
      Src: /src/libfuse/lib/cuse_lowlevel.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - argc
    - argv
    - ci
    - clop
    - userdata
    argTypes:
    - int
    - char*[]
    - struct cuse_info*
    - struct cuse_lowlevel_ops*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 350
    functionDepth: 14
    functionLinenumber: 350
    functionLinenumberEnd: 375
    functionName: cuse_lowlevel_main
    functionSourceFile: /src/libfuse/lib/cuse_lowlevel.c
    functionUses: 0
    functionsReached:
    - fuse_loop_cfg_destroy
    - fuse_session_loop
    - fuse_session_loop_mt
    - cuse_lowlevel_teardown
    - fuse_loop_cfg_create
    - cuse_lowlevel_setup
    linkageType: ''
    returnType: int
    signature: "int cuse_lowlevel_main(int argc, char *argv[], const struct cuse_info
      *ci,\n\t\t       const struct cuse_lowlevel_ops *clop, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/modules/iconv.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: iconv_get
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - fuse_get_context
    linkageType: ''
    returnType: struct iconv
    signature: struct iconv *iconv_get(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/modules/iconv.c:58,1
    - Dst: malloc
      Src: /src/libfuse/lib/modules/iconv.c:60,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/lib/modules/iconv.c:66,1
    - Dst: iconv
      Src: /src/libfuse/lib/modules/iconv.c:68,1
    - Dst: realloc
      Src: /src/libfuse/lib/modules/iconv.c:81,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/modules/iconv.c:91,1
    - Dst: iconv
      Src: /src/libfuse/lib/modules/iconv.c:97,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/lib/modules/iconv.c:98,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - ic
    - path
    - newpathp
    - fromfs
    argTypes:
    - struct iconv*
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 101
    functionName: iconv_convpath
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - strlen
    - free
    - iconv
    linkageType: ''
    returnType: int
    signature: "int iconv_convpath(struct iconv *ic, const char *path, char **newpathp,\n\t\t\t
      \ int fromfs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:106,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:108,1
    - Dst: fuse_fs_getattr
      Src: /src/libfuse/lib/modules/iconv.c:110,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: iconv_getattr
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - iconv_get
    - fuse_fs_getattr
    linkageType: ''
    returnType: int
    signature: "int iconv_getattr(const char *path, struct stat *stbuf,\n\t\t\t struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:118,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:120,1
    - Dst: fuse_fs_access
      Src: /src/libfuse/lib/modules/iconv.c:122,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - mask
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: iconv_access
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_access
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_access(const char *path, int mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:130,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:132,1
    - Dst: fuse_fs_readlink
      Src: /src/libfuse/lib/modules/iconv.c:134,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:137,1
    - Dst: strncpy
      Src: /src/libfuse/lib/modules/iconv.c:139,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:141,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - path
    - buf
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: iconv_readlink
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - strncpy
    - fuse_fs_readlink
    - free
    - iconv_convpath
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_readlink(const char *path, char *buf, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:151,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:153,1
    - Dst: fuse_fs_opendir
      Src: /src/libfuse/lib/modules/iconv.c:155,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: iconv_opendir
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - fuse_fs_opendir
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_opendir(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:168,1
    - Dst: struct iconv_dh*::prev_filler
      Src: /src/libfuse/lib/modules/iconv.c:169,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - buf
    - name
    - stbuf
    - 'off'
    - flags
    argTypes:
    - void*
    - char*
    - struct stat*
    - off_t
    - enum fuse_fill_dir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: iconv_dir_fill
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - struct iconv_dh*::prev_filler
    linkageType: ''
    returnType: int
    signature: "int iconv_dir_fill(void *buf, const char *name,\n\t\t\t  const struct
      stat *stbuf, off_t off,\n\t\t\t  enum fuse_fill_dir_flags flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:179,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:181,1
    - Dst: fuse_fs_readdir
      Src: /src/libfuse/lib/modules/iconv.c:187,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - path
    - buf
    - filler
    - offset
    - fi
    - flags
    argTypes:
    - char*
    - void*
    - fuse_fill_dir_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: iconv_readdir
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - iconv_get
    - fuse_fs_readdir
    linkageType: ''
    returnType: int
    signature: "int iconv_readdir(const char *path, void *buf, fuse_fill_dir_t filler,\n\t\t\t
      off_t offset, struct fuse_file_info *fi,\n\t\t\t enum fuse_readdir_flags flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:196,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:198,1
    - Dst: fuse_fs_releasedir
      Src: /src/libfuse/lib/modules/iconv.c:200,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: iconv_releasedir
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - iconv_get
    - fuse_fs_releasedir
    linkageType: ''
    returnType: int
    signature: int iconv_releasedir(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:208,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:210,1
    - Dst: fuse_fs_mknod
      Src: /src/libfuse/lib/modules/iconv.c:212,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - mode
    - rdev
    argTypes:
    - char*
    - mode_t
    - dev_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: iconv_mknod
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_mknod
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_mknod(const char *path, mode_t mode, dev_t rdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:220,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:222,1
    - Dst: fuse_fs_mkdir
      Src: /src/libfuse/lib/modules/iconv.c:224,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: iconv_mkdir
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_mkdir
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_mkdir(const char *path, mode_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:232,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:234,1
    - Dst: fuse_fs_unlink
      Src: /src/libfuse/lib/modules/iconv.c:236,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: iconv_unlink
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - fuse_fs_unlink
    - iconv_convpath
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_unlink(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:244,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:246,1
    - Dst: fuse_fs_rmdir
      Src: /src/libfuse/lib/modules/iconv.c:248,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: iconv_rmdir
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - fuse_fs_rmdir
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_rmdir(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:256,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:259,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:261,1
    - Dst: fuse_fs_symlink
      Src: /src/libfuse/lib/modules/iconv.c:263,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:264,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 269
    functionName: iconv_symlink
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - iconv_get
    - fuse_fs_symlink
    linkageType: ''
    returnType: int
    signature: int iconv_symlink(const char *from, const char *to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:273,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:276,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:278,1
    - Dst: fuse_fs_rename
      Src: /src/libfuse/lib/modules/iconv.c:280,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:281,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - from
    - to
    - flags
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: iconv_rename
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - fuse_fs_rename
    - iconv_convpath
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_rename(const char *from, const char *to, unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:290,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:293,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:295,1
    - Dst: fuse_fs_link
      Src: /src/libfuse/lib/modules/iconv.c:297,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:298,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 303
    functionName: iconv_link
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - fuse_fs_link
    - iconv_convpath
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_link(const char *from, const char *to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:308,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:310,1
    - Dst: fuse_fs_chmod
      Src: /src/libfuse/lib/modules/iconv.c:312,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - mode
    - fi
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 316
    functionName: iconv_chmod
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - fuse_fs_chmod
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_chmod(const char *path, mode_t mode,\n\t\t       struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:321,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:323,1
    - Dst: fuse_fs_chown
      Src: /src/libfuse/lib/modules/iconv.c:325,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - uid
    - gid
    - fi
    argTypes:
    - char*
    - uid_t
    - gid_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: iconv_chown
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_chown
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_chown(const char *path, uid_t uid, gid_t gid,\n\t\t       struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:334,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:336,1
    - Dst: fuse_fs_truncate
      Src: /src/libfuse/lib/modules/iconv.c:338,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - size
    - fi
    argTypes:
    - char*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: iconv_truncate
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_truncate
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_truncate(const char *path, off_t size,\n\t\t\t   struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:347,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:349,1
    - Dst: fuse_fs_utimens
      Src: /src/libfuse/lib/modules/iconv.c:351,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - ts
    - fi
    argTypes:
    - char*
    - struct timespec[]
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: iconv_utimens
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_utimens
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_utimens(const char *path, const struct timespec ts[2],\n\t\t\t
      struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:360,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:362,1
    - Dst: fuse_fs_create
      Src: /src/libfuse/lib/modules/iconv.c:364,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - mode
    - fi
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 368
    functionName: iconv_create
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_create
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_create(const char *path, mode_t mode,\n\t\t\tstruct fuse_file_info
      *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:372,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:374,1
    - Dst: fuse_fs_open
      Src: /src/libfuse/lib/modules/iconv.c:376,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: iconv_open_file
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - fuse_fs_open
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_open_file(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:385,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:387,1
    - Dst: fuse_fs_read_buf
      Src: /src/libfuse/lib/modules/iconv.c:389,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - path
    - bufp
    - size
    - offset
    - fi
    argTypes:
    - char*
    - struct fuse_bufvec**
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 393
    functionName: iconv_read_buf
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_read_buf
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_read_buf(const char *path, struct fuse_bufvec **bufp,\n\t\t\t
      \ size_t size, off_t offset, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:398,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:400,1
    - Dst: fuse_fs_write_buf
      Src: /src/libfuse/lib/modules/iconv.c:402,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - buf
    - offset
    - fi
    argTypes:
    - char*
    - struct fuse_bufvec*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 406
    functionName: iconv_write_buf
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - fuse_fs_write_buf
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_write_buf(const char *path, struct fuse_bufvec *buf,\n\t\t\t
      \  off_t offset, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:410,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:412,1
    - Dst: fuse_fs_statfs
      Src: /src/libfuse/lib/modules/iconv.c:414,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - stbuf
    argTypes:
    - char*
    - struct statvfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: iconv_statfs
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - fuse_fs_statfs
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_statfs(const char *path, struct statvfs *stbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:422,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:424,1
    - Dst: fuse_fs_flush
      Src: /src/libfuse/lib/modules/iconv.c:426,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 430
    functionName: iconv_flush
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_flush
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_flush(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:434,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:436,1
    - Dst: fuse_fs_release
      Src: /src/libfuse/lib/modules/iconv.c:438,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: iconv_release
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_release
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_release(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:447,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:449,1
    - Dst: fuse_fs_fsync
      Src: /src/libfuse/lib/modules/iconv.c:451,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - isdatasync
    - fi
    argTypes:
    - char*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: iconv_fsync
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_fsync
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_fsync(const char *path, int isdatasync,\n\t\t       struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:460,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:462,1
    - Dst: fuse_fs_fsyncdir
      Src: /src/libfuse/lib/modules/iconv.c:464,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - isdatasync
    - fi
    argTypes:
    - char*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: iconv_fsyncdir
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - fuse_fs_fsyncdir
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_fsyncdir(const char *path, int isdatasync,\n\t\t\t  struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:473,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:475,1
    - Dst: fuse_fs_setxattr
      Src: /src/libfuse/lib/modules/iconv.c:477,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - path
    - name
    - value
    - size
    - flags
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 482
    functionName: iconv_setxattr
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - iconv_get
    - fuse_fs_setxattr
    linkageType: ''
    returnType: int
    signature: "int iconv_setxattr(const char *path, const char *name,\n\t\t\t  const
      char *value, size_t size, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:487,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:489,1
    - Dst: fuse_fs_getxattr
      Src: /src/libfuse/lib/modules/iconv.c:491,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - name
    - value
    - size
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: iconv_getxattr
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_getxattr
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_getxattr(const char *path, const char *name, char *value,\n\t\t\t
      \ size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:499,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:501,1
    - Dst: fuse_fs_listxattr
      Src: /src/libfuse/lib/modules/iconv.c:503,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - list
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 507
    functionName: iconv_listxattr
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_listxattr
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_listxattr(const char *path, char *list, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:511,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:513,1
    - Dst: fuse_fs_removexattr
      Src: /src/libfuse/lib/modules/iconv.c:515,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 519
    functionName: iconv_removexattr
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_removexattr
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_removexattr(const char *path, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:524,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:526,1
    - Dst: fuse_fs_lock
      Src: /src/libfuse/lib/modules/iconv.c:528,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - fi
    - cmd
    - lock
    argTypes:
    - char*
    - struct fuse_file_info*
    - int
    - struct flock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 532
    functionName: iconv_lock
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_lock
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_lock(const char *path, struct fuse_file_info *fi, int cmd,\n\t\t
      \     struct flock *lock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:536,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:538,1
    - Dst: fuse_fs_flock
      Src: /src/libfuse/lib/modules/iconv.c:540,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - fi
    - op
    argTypes:
    - char*
    - struct fuse_file_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 544
    functionName: iconv_flock
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - fuse_fs_flock
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_flock(const char *path, struct fuse_file_info *fi, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:548,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:550,1
    - Dst: fuse_fs_bmap
      Src: /src/libfuse/lib/modules/iconv.c:552,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - blocksize
    - idx
    argTypes:
    - char*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 556
    functionName: iconv_bmap
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - free
    - fuse_fs_bmap
    - iconv_get
    linkageType: ''
    returnType: int
    signature: int iconv_bmap(const char *path, size_t blocksize, uint64_t *idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:561,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:563,1
    - Dst: fuse_fs_lseek
      Src: /src/libfuse/lib/modules/iconv.c:565,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - 'off'
    - whence
    - fi
    argTypes:
    - char*
    - off_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 569
    functionName: iconv_lseek
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_lseek
    - free
    - iconv_get
    linkageType: ''
    returnType: off_t
    signature: "off_t iconv_lseek(const char *path, off_t off, int whence,\n\t\t\t
      struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:575,1
    - Dst: iconv_convpath
      Src: /src/libfuse/lib/modules/iconv.c:577,1
    - Dst: fuse_fs_statx
      Src: /src/libfuse/lib/modules/iconv.c:580,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - path
    - flags
    - mask
    - stxbuf
    - fi
    argTypes:
    - char*
    - int
    - int
    - struct statx*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 572
    functionDepth: 3
    functionLinenumber: 572
    functionLinenumberEnd: 584
    functionName: iconv_statx
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_convpath
    - fuse_fs_statx
    - free
    - iconv_get
    linkageType: ''
    returnType: int
    signature: "int iconv_statx(const char *path, int flags, int mask, struct statx
      *stxbuf,\n\t\t\t struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iconv_get
      Src: /src/libfuse/lib/modules/iconv.c:590,1
    - Dst: fuse_fs_init
      Src: /src/libfuse/lib/modules/iconv.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - cfg
    argTypes:
    - struct fuse_conn_info*
    - struct fuse_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 587
    functionDepth: 3
    functionLinenumber: 587
    functionLinenumberEnd: 595
    functionName: iconv_init
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_get
    - fuse_fs_init
    linkageType: ''
    returnType: void
    signature: "void *iconv_init(struct fuse_conn_info *conn,\n\t\t\tstruct fuse_config
      *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_fs_destroy
      Src: /src/libfuse/lib/modules/iconv.c:600,1
    - Dst: iconv_close
      Src: /src/libfuse/lib/modules/iconv.c:601,1
    - Dst: iconv_close
      Src: /src/libfuse/lib/modules/iconv.c:602,1
    - Dst: pthread_mutex_destroy
      Src: /src/libfuse/lib/modules/iconv.c:603,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:604,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:605,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 607
    functionName: iconv_destroy
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - fuse_fs_destroy
    - iconv_close
    - free
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void iconv_destroy(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libfuse/lib/modules/iconv.c:662,1
    - Dst: strdup
      Src: /src/libfuse/lib/modules/iconv.c:664,1
    - Dst: nl_langinfo
      Src: /src/libfuse/lib/modules/iconv.c:664,1
    - Dst: setlocale
      Src: /src/libfuse/lib/modules/iconv.c:666,1
    - Dst: perror
      Src: /src/libfuse/lib/modules/iconv.c:668,1
    - Dst: printf
      Src: /src/libfuse/lib/modules/iconv.c:670,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 675
    functionName: iconv_help
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - perror
    - strdup
    - nl_langinfo
    - free
    - setlocale
    - printf
    linkageType: ''
    returnType: void
    signature: void iconv_help(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_help
      Src: /src/libfuse/lib/modules/iconv.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - arg
    - key
    - outargs
    argTypes:
    - void*
    - char*
    - int
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 688
    functionName: iconv_opt_proc
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_help
    linkageType: ''
    returnType: int
    signature: "int iconv_opt_proc(void *data, const char *arg, int key,\n\t\t\t  struct
      fuse_args *outargs)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/lib/modules/iconv.c:699,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/modules/iconv.c:701,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/modules/iconv.c:705,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/modules/iconv.c:709,1
    - Dst: setlocale
      Src: /src/libfuse/lib/modules/iconv.c:717,1
    - Dst: iconv_open
      Src: /src/libfuse/lib/modules/iconv.c:718,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/modules/iconv.c:720,1
    - Dst: iconv_open
      Src: /src/libfuse/lib/modules/iconv.c:724,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/modules/iconv.c:726,1
    - Dst: setlocale
      Src: /src/libfuse/lib/modules/iconv.c:731,1
    - Dst: fuse_fs_new
      Src: /src/libfuse/lib/modules/iconv.c:736,1
    - Dst: iconv_close
      Src: /src/libfuse/lib/modules/iconv.c:743,1
    - Dst: iconv_close
      Src: /src/libfuse/lib/modules/iconv.c:745,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:747,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:748,1
    - Dst: free
      Src: /src/libfuse/lib/modules/iconv.c:749,1
    - Dst: setlocale
      Src: /src/libfuse/lib/modules/iconv.c:751,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 2
    argNames:
    - args
    - next
    argTypes:
    - struct fuse_args*
    - struct fuse_fs*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 690
    functionDepth: 13
    functionLinenumber: 690
    functionLinenumberEnd: 754
    functionName: iconv_new
    functionSourceFile: /src/libfuse/lib/modules/iconv.c
    functionUses: 0
    functionsReached:
    - iconv_open
    - iconv_close
    - fuse_opt_parse
    - fuse_fs_new
    - fuse_log
    - calloc
    - free
    - setlocale
    linkageType: ''
    returnType: struct fuse_fs
    signature: "struct fuse_fs *iconv_new(struct fuse_args *args,\n\t\t\t\t struct
      fuse_fs *next[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/lib/modules/subdir.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: subdir_get
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_get_context
    linkageType: ''
    returnType: struct subdir
    signature: struct subdir *subdir_get(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/lib/modules/subdir.c:35,1
    - Dst: malloc
      Src: /src/libfuse/lib/modules/subdir.c:37,1
    - Dst: strcpy
      Src: /src/libfuse/lib/modules/subdir.c:43,1
    - Dst: strcpy
      Src: /src/libfuse/lib/modules/subdir.c:44,1
    - Dst: strcpy
      Src: /src/libfuse/lib/modules/subdir.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - d
    - path
    - newpathp
    argTypes:
    - struct subdir*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: subdir_addpath
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - malloc
    - strcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int subdir_addpath(struct subdir *d, const char *path, char **newpathp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:56,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:58,1
    - Dst: fuse_fs_getattr
      Src: /src/libfuse/lib/modules/subdir.c:60,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: subdir_getattr
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_getattr
    linkageType: ''
    returnType: int
    signature: "int subdir_getattr(const char *path, struct stat *stbuf,\n\t\t\t  struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:68,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:70,1
    - Dst: fuse_fs_access
      Src: /src/libfuse/lib/modules/subdir.c:72,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - mask
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: subdir_access
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_access
    linkageType: ''
    returnType: int
    signature: int subdir_access(const char *path, int mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: count_components
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_components(const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - sp
    - tp
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: strip_common
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void strip_common(const char **sp, const char **tp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strip_common
      Src: /src/libfuse/lib/modules/subdir.c:116,1
    - Dst: count_components
      Src: /src/libfuse/lib/modules/subdir.c:120,1
    - Dst: strlen
      Src: /src/libfuse/lib/modules/subdir.c:125,1
    - Dst: memmove
      Src: /src/libfuse/lib/modules/subdir.c:131,1
    - Dst: strcpy
      Src: /src/libfuse/lib/modules/subdir.c:133,1
    - Dst: memcpy
      Src: /src/libfuse/lib/modules/subdir.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - d
    - path
    - buf
    - size
    argTypes:
    - struct subdir*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 139
    functionName: transform_symlink
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memmove
    - strlen
    - strcpy
    - count_components
    - strip_common
    linkageType: ''
    returnType: void
    signature: "void transform_symlink(struct subdir *d, const char *path,\n\t\t\t
      \     char *buf, size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:144,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:146,1
    - Dst: fuse_fs_readlink
      Src: /src/libfuse/lib/modules/subdir.c:148,1
    - Dst: transform_symlink
      Src: /src/libfuse/lib/modules/subdir.c:150,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - path
    - buf
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: subdir_readlink
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - transform_symlink
    - fuse_fs_readlink
    - subdir_addpath
    - free
    - subdir_get
    linkageType: ''
    returnType: int
    signature: int subdir_readlink(const char *path, char *buf, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:158,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:160,1
    - Dst: fuse_fs_opendir
      Src: /src/libfuse/lib/modules/subdir.c:162,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: subdir_opendir
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - free
    - subdir_addpath
    - subdir_get
    - fuse_fs_opendir
    linkageType: ''
    returnType: int
    signature: int subdir_opendir(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:173,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:175,1
    - Dst: fuse_fs_readdir
      Src: /src/libfuse/lib/modules/subdir.c:177,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - path
    - buf
    - filler
    - offset
    - fi
    - flags
    argTypes:
    - char*
    - void*
    - fuse_fill_dir_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: subdir_readdir
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_readdir
    linkageType: ''
    returnType: int
    signature: "int subdir_readdir(const char *path, void *buf,\n\t\t\t  fuse_fill_dir_t
      filler, off_t offset,\n\t\t\t  struct fuse_file_info *fi,\n\t\t\t  enum fuse_readdir_flags
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:186,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:188,1
    - Dst: fuse_fs_releasedir
      Src: /src/libfuse/lib/modules/subdir.c:190,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: subdir_releasedir
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_releasedir
    linkageType: ''
    returnType: int
    signature: int subdir_releasedir(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:198,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:200,1
    - Dst: fuse_fs_mknod
      Src: /src/libfuse/lib/modules/subdir.c:202,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - mode
    - rdev
    argTypes:
    - char*
    - mode_t
    - dev_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: subdir_mknod
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_mknod
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: int subdir_mknod(const char *path, mode_t mode, dev_t rdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:210,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:212,1
    - Dst: fuse_fs_mkdir
      Src: /src/libfuse/lib/modules/subdir.c:214,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: subdir_mkdir
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_mkdir
    linkageType: ''
    returnType: int
    signature: int subdir_mkdir(const char *path, mode_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:222,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:224,1
    - Dst: fuse_fs_unlink
      Src: /src/libfuse/lib/modules/subdir.c:226,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: subdir_unlink
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_unlink
    linkageType: ''
    returnType: int
    signature: int subdir_unlink(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:234,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:236,1
    - Dst: fuse_fs_rmdir
      Src: /src/libfuse/lib/modules/subdir.c:238,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: subdir_rmdir
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - free
    - subdir_addpath
    - subdir_get
    - fuse_fs_rmdir
    linkageType: ''
    returnType: int
    signature: int subdir_rmdir(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:246,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:248,1
    - Dst: fuse_fs_symlink
      Src: /src/libfuse/lib/modules/subdir.c:250,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - from
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: subdir_symlink
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_symlink
    linkageType: ''
    returnType: int
    signature: int subdir_symlink(const char *from, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:258,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:261,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:263,1
    - Dst: fuse_fs_rename
      Src: /src/libfuse/lib/modules/subdir.c:265,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:266,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - from
    - to
    - flags
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: subdir_rename
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_rename
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: int subdir_rename(const char *from, const char *to, unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:275,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:278,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:280,1
    - Dst: fuse_fs_link
      Src: /src/libfuse/lib/modules/subdir.c:282,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:283,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: subdir_link
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_link
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: int subdir_link(const char *from, const char *to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:293,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:295,1
    - Dst: fuse_fs_chmod
      Src: /src/libfuse/lib/modules/subdir.c:297,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - mode
    - fi
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 301
    functionName: subdir_chmod
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_chmod
    linkageType: ''
    returnType: int
    signature: "int subdir_chmod(const char *path, mode_t mode,\n\t\t\tstruct fuse_file_info
      *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:306,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:308,1
    - Dst: fuse_fs_chown
      Src: /src/libfuse/lib/modules/subdir.c:310,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - uid
    - gid
    - fi
    argTypes:
    - char*
    - uid_t
    - gid_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: subdir_chown
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_chown
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: "int subdir_chown(const char *path, uid_t uid, gid_t gid,\n\t\t\tstruct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:319,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:321,1
    - Dst: fuse_fs_truncate
      Src: /src/libfuse/lib/modules/subdir.c:323,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - size
    - fi
    argTypes:
    - char*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: subdir_truncate
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_truncate
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: "int subdir_truncate(const char *path, off_t size,\n\t\t\t   struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:332,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:334,1
    - Dst: fuse_fs_utimens
      Src: /src/libfuse/lib/modules/subdir.c:336,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - ts
    - fi
    argTypes:
    - char*
    - struct timespec[]
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: subdir_utimens
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_utimens
    linkageType: ''
    returnType: int
    signature: "int subdir_utimens(const char *path, const struct timespec ts[2],\n\t\t\t
      \ struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:345,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:347,1
    - Dst: fuse_fs_create
      Src: /src/libfuse/lib/modules/subdir.c:349,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - mode
    - fi
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: subdir_create
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_create
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: "int subdir_create(const char *path, mode_t mode,\n\t\t\t struct fuse_file_info
      *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:357,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:359,1
    - Dst: fuse_fs_open
      Src: /src/libfuse/lib/modules/subdir.c:361,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: subdir_open
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - free
    - subdir_addpath
    - subdir_get
    - fuse_fs_open
    linkageType: ''
    returnType: int
    signature: int subdir_open(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:370,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:372,1
    - Dst: fuse_fs_read_buf
      Src: /src/libfuse/lib/modules/subdir.c:374,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - path
    - bufp
    - size
    - offset
    - fi
    argTypes:
    - char*
    - struct fuse_bufvec**
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 378
    functionName: subdir_read_buf
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_read_buf
    linkageType: ''
    returnType: int
    signature: "int subdir_read_buf(const char *path, struct fuse_bufvec **bufp,\n\t\t\t
      \  size_t size, off_t offset, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:383,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:385,1
    - Dst: fuse_fs_write_buf
      Src: /src/libfuse/lib/modules/subdir.c:387,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - buf
    - offset
    - fi
    argTypes:
    - char*
    - struct fuse_bufvec*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: subdir_write_buf
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - free
    - subdir_addpath
    - subdir_get
    - fuse_fs_write_buf
    linkageType: ''
    returnType: int
    signature: "int subdir_write_buf(const char *path, struct fuse_bufvec *buf,\n\t\t\toff_t
      offset, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:395,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:397,1
    - Dst: fuse_fs_statfs
      Src: /src/libfuse/lib/modules/subdir.c:399,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - stbuf
    argTypes:
    - char*
    - struct statvfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 403
    functionName: subdir_statfs
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - free
    - subdir_addpath
    - subdir_get
    - fuse_fs_statfs
    linkageType: ''
    returnType: int
    signature: int subdir_statfs(const char *path, struct statvfs *stbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:407,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:409,1
    - Dst: fuse_fs_flush
      Src: /src/libfuse/lib/modules/subdir.c:411,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: subdir_flush
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_flush
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: int subdir_flush(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:419,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:421,1
    - Dst: fuse_fs_release
      Src: /src/libfuse/lib/modules/subdir.c:423,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: subdir_release
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_release
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: int subdir_release(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:432,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:434,1
    - Dst: fuse_fs_fsync
      Src: /src/libfuse/lib/modules/subdir.c:436,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - isdatasync
    - fi
    argTypes:
    - char*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: subdir_fsync
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_fsync
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: "int subdir_fsync(const char *path, int isdatasync,\n\t\t\tstruct fuse_file_info
      *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:445,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:447,1
    - Dst: fuse_fs_fsyncdir
      Src: /src/libfuse/lib/modules/subdir.c:449,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - isdatasync
    - fi
    argTypes:
    - char*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 453
    functionName: subdir_fsyncdir
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_fsyncdir
    linkageType: ''
    returnType: int
    signature: "int subdir_fsyncdir(const char *path, int isdatasync,\n\t\t\t   struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:458,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:460,1
    - Dst: fuse_fs_setxattr
      Src: /src/libfuse/lib/modules/subdir.c:462,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - path
    - name
    - value
    - size
    - flags
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: subdir_setxattr
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_setxattr
    linkageType: ''
    returnType: int
    signature: "int subdir_setxattr(const char *path, const char *name,\n\t\t\t   const
      char *value, size_t size, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:472,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:474,1
    - Dst: fuse_fs_getxattr
      Src: /src/libfuse/lib/modules/subdir.c:476,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - name
    - value
    - size
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 480
    functionName: subdir_getxattr
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_getxattr
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: "int subdir_getxattr(const char *path, const char *name, char *value,\n\t\t\t
      \  size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:484,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:486,1
    - Dst: fuse_fs_listxattr
      Src: /src/libfuse/lib/modules/subdir.c:488,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - list
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: subdir_listxattr
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_listxattr
    linkageType: ''
    returnType: int
    signature: int subdir_listxattr(const char *path, char *list, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:496,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:498,1
    - Dst: fuse_fs_removexattr
      Src: /src/libfuse/lib/modules/subdir.c:500,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: subdir_removexattr
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_removexattr
    linkageType: ''
    returnType: int
    signature: int subdir_removexattr(const char *path, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:509,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:511,1
    - Dst: fuse_fs_lock
      Src: /src/libfuse/lib/modules/subdir.c:513,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - fi
    - cmd
    - lock
    argTypes:
    - char*
    - struct fuse_file_info*
    - int
    - struct flock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: subdir_lock
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_addpath
    - subdir_get
    - free
    - fuse_fs_lock
    linkageType: ''
    returnType: int
    signature: "int subdir_lock(const char *path, struct fuse_file_info *fi, int cmd,\n\t\t
      \      struct flock *lock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:521,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:523,1
    - Dst: fuse_fs_flock
      Src: /src/libfuse/lib/modules/subdir.c:525,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - fi
    - op
    argTypes:
    - char*
    - struct fuse_file_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: subdir_flock
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - free
    - subdir_addpath
    - subdir_get
    - fuse_fs_flock
    linkageType: ''
    returnType: int
    signature: int subdir_flock(const char *path, struct fuse_file_info *fi, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:533,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:535,1
    - Dst: fuse_fs_bmap
      Src: /src/libfuse/lib/modules/subdir.c:537,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - blocksize
    - idx
    argTypes:
    - char*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 541
    functionName: subdir_bmap
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_bmap
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: int subdir_bmap(const char *path, size_t blocksize, uint64_t *idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:546,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:548,1
    - Dst: fuse_fs_lseek
      Src: /src/libfuse/lib/modules/subdir.c:550,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - 'off'
    - whence
    - fi
    argTypes:
    - char*
    - off_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 554
    functionName: subdir_lseek
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_lseek
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: off_t
    signature: "off_t subdir_lseek(const char *path, off_t off, int whence,\n\t\t\t
      \ struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:560,1
    - Dst: subdir_addpath
      Src: /src/libfuse/lib/modules/subdir.c:562,1
    - Dst: fuse_fs_statx
      Src: /src/libfuse/lib/modules/subdir.c:565,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - path
    - flags
    - mask
    - stxbuf
    - fi
    argTypes:
    - char*
    - int
    - int
    - struct statx*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 569
    functionName: subdir_statx
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_statx
    - subdir_addpath
    - subdir_get
    - free
    linkageType: ''
    returnType: int
    signature: "int subdir_statx(const char *path, int flags, int mask, struct statx
      *stxbuf,\n\t\t\tstruct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subdir_get
      Src: /src/libfuse/lib/modules/subdir.c:575,1
    - Dst: fuse_fs_init
      Src: /src/libfuse/lib/modules/subdir.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - cfg
    argTypes:
    - struct fuse_conn_info*
    - struct fuse_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 572
    functionDepth: 3
    functionLinenumber: 572
    functionLinenumberEnd: 580
    functionName: subdir_init
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_get
    - fuse_fs_init
    linkageType: ''
    returnType: void
    signature: "void *subdir_init(struct fuse_conn_info *conn,\n\t\t\t struct fuse_config
      *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_fs_destroy
      Src: /src/libfuse/lib/modules/subdir.c:585,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:586,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 588
    functionName: subdir_destroy
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - fuse_fs_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void subdir_destroy(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/lib/modules/subdir.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 646
    functionName: subdir_help
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void subdir_help(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subdir_help
      Src: /src/libfuse/lib/modules/subdir.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - arg
    - key
    - outargs
    argTypes:
    - void*
    - char*
    - int
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 659
    functionName: subdir_opt_proc
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - subdir_help
    linkageType: ''
    returnType: int
    signature: "int subdir_opt_proc(void *data, const char *arg, int key,\n\t\t\t
      \  struct fuse_args *outargs)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/lib/modules/subdir.c:667,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/modules/subdir.c:669,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/lib/modules/subdir.c:673,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/modules/subdir.c:677,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/modules/subdir.c:682,1
    - Dst: strlen
      Src: /src/libfuse/lib/modules/subdir.c:686,1
    - Dst: realloc
      Src: /src/libfuse/lib/modules/subdir.c:687,1
    - Dst: strlen
      Src: /src/libfuse/lib/modules/subdir.c:687,1
    - Dst: fuse_log
      Src: /src/libfuse/lib/modules/subdir.c:689,1
    - Dst: strcat
      Src: /src/libfuse/lib/modules/subdir.c:693,1
    - Dst: strlen
      Src: /src/libfuse/lib/modules/subdir.c:695,1
    - Dst: fuse_fs_new
      Src: /src/libfuse/lib/modules/subdir.c:697,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:703,1
    - Dst: free
      Src: /src/libfuse/lib/modules/subdir.c:704,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - args
    - next
    argTypes:
    - struct fuse_args*
    - struct fuse_fs*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 661
    functionDepth: 13
    functionLinenumber: 661
    functionLinenumberEnd: 706
    functionName: subdir_new
    functionSourceFile: /src/libfuse/lib/modules/subdir.c
    functionUses: 0
    functionsReached:
    - realloc
    - fuse_opt_parse
    - strlen
    - fuse_log
    - calloc
    - strcat
    - fuse_fs_new
    - free
    linkageType: ''
    returnType: struct fuse_fs
    signature: "struct fuse_fs *subdir_new(struct fuse_args *args,\n\t\t\t\t  struct
      fuse_fs *next[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libfuse/example/ioctl_client.c:46,1
    - Dst: open
      Src: /src/libfuse/example/ioctl_client.c:50,1
    - Dst: perror
      Src: /src/libfuse/example/ioctl_client.c:52,1
    - Dst: ioctl
      Src: /src/libfuse/example/ioctl_client.c:57,1
    - Dst: perror
      Src: /src/libfuse/example/ioctl_client.c:58,1
    - Dst: printf
      Src: /src/libfuse/example/ioctl_client.c:62,1
    - Dst: strtoul
      Src: /src/libfuse/example/ioctl_client.c:64,1
    - Dst: ioctl
      Src: /src/libfuse/example/ioctl_client.c:65,1
    - Dst: perror
      Src: /src/libfuse/example/ioctl_client.c:66,1
    - Dst: close
      Src: /src/libfuse/example/ioctl_client.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/libfuse/example/ioctl_client.c
    functionUses: 2
    functionsReached:
    - perror
    - open
    - fprintf
    - strtoul
    - close
    - ioctl
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: OPTION
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTION(t, p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ino
    - stbuf
    argTypes:
    - fuse_ino_t
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: tfs_stat
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tfs_stat(fuse_ino_t ino, struct stat *stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userdata
    - conn
    argTypes:
    - void*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: tfs_init
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tfs_init(void *userdata, struct fuse_conn_info *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/notify_store_retrieve.c:145,1
    - Dst: strcmp
      Src: /src/libfuse/example/notify_store_retrieve.c:149,1
    - Dst: tfs_stat
      Src: /src/libfuse/example/notify_store_retrieve.c:156,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/notify_store_retrieve.c:158,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/notify_store_retrieve.c:166,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/notify_store_retrieve.c:168,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_store_retrieve.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 142
    functionDepth: 7
    functionLinenumber: 142
    functionLinenumberEnd: 175
    functionName: tfs_lookup
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - memset
    - strcmp
    - pthread_mutex_unlock
    - tfs_stat
    - fuse_reply_err
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: "void tfs_lookup(fuse_req_t req, fuse_ino_t parent,\n                       const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/notify_store_retrieve.c:181,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/notify_store_retrieve.c:183,1
    - Dst: assert
      Src: /src/libfuse/example/notify_store_retrieve.c:185,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/example/notify_store_retrieve.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - req
    - ino
    - nlookup
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - uint64_t
    assertStmts:
    - condition: (ino == FUSE_ROOT_ID)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/libfuse/example/notify_store_retrieve.c
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: tfs_forget
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - fuse_reply_none
    - pthread_mutex_lock
    - assert
    linkageType: ''
    returnType: void
    signature: "void tfs_forget (fuse_req_t req, fuse_ino_t ino,\n                        uint64_t
      nlookup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/notify_store_retrieve.c:195,1
    - Dst: tfs_stat
      Src: /src/libfuse/example/notify_store_retrieve.c:196,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_store_retrieve.c:197,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/example/notify_store_retrieve.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 7
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: tfs_getattr
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 1
    functionsReached:
    - tfs_stat
    - memset
    - fuse_reply_attr
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void tfs_getattr(fuse_req_t req, fuse_ino_t ino,\n                        struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/notify_store_retrieve.c:211,1
    - Dst: realloc
      Src: /src/libfuse/example/notify_store_retrieve.c:212,1
    - Dst: memset
      Src: /src/libfuse/example/notify_store_retrieve.c:213,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/notify_store_retrieve.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - req
    - b
    - name
    - ino
    argTypes:
    - fuse_req_t
    - struct dirbuf*
    - char*
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: dirbuf_add
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - fuse_add_direntry
    - memset
    - realloc
    linkageType: ''
    returnType: void
    signature: "void dirbuf_add(fuse_req_t req, struct dirbuf *b, const char *name,\n
      \                      fuse_ino_t ino)"
  - 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: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: min
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(x, y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/notify_store_retrieve.c:224,1
    - Dst: min
      Src: /src/libfuse/example/notify_store_retrieve.c:225,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/notify_store_retrieve.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - req
    - buf
    - bufsize
    - 'off'
    - maxsize
    argTypes:
    - fuse_req_t
    - char*
    - size_t
    - off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 7
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: reply_buf_limited
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - fuse_reply_buf
    - min
    linkageType: ''
    returnType: int
    signature: "int reply_buf_limited(fuse_req_t req, const char *buf, size_t bufsize,\n
      \                            off_t off, size_t maxsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_store_retrieve.c:235,1
    - Dst: memset
      Src: /src/libfuse/example/notify_store_retrieve.c:239,1
    - Dst: dirbuf_add
      Src: /src/libfuse/example/notify_store_retrieve.c:240,1
    - Dst: reply_buf_limited
      Src: /src/libfuse/example/notify_store_retrieve.c:241,1
    - Dst: free
      Src: /src/libfuse/example/notify_store_retrieve.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 6
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: tfs_readdir
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - dirbuf_add
    - reply_buf_limited
    - memset
    - free
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void tfs_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,\n                        off_t
      off, struct fuse_file_info *fi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_store_retrieve.c:254,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_store_retrieve.c:256,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/notify_store_retrieve.c:258,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/notify_store_retrieve.c:259,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/notify_store_retrieve.c:261,1
    - Dst: fprintf
      Src: /src/libfuse/example/notify_store_retrieve.c:264,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_store_retrieve.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 246
    functionDepth: 7
    functionLinenumber: 246
    functionLinenumberEnd: 267
    functionName: tfs_open
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - fuse_reply_open
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - fprintf
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void tfs_open(fuse_req_t req, fuse_ino_t ino,\n                     struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/example/notify_store_retrieve.c:273,1
    - Dst: reply_buf_limited
      Src: /src/libfuse/example/notify_store_retrieve.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts:
    - condition: (ino == FILE_INO)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/libfuse/example/notify_store_retrieve.c
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: tfs_read
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - reply_buf_limited
    - assert
    linkageType: ''
    returnType: void
    signature: "void tfs_read(fuse_req_t req, fuse_ino_t ino, size_t size,\n                     off_t
      off, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/example/notify_store_retrieve.c:284,1
    - Dst: assert
      Src: /src/libfuse/example/notify_store_retrieve.c:285,1
    - Dst: fuse_buf_copy
      Src: /src/libfuse/example/notify_store_retrieve.c:295,1
    - Dst: assert
      Src: /src/libfuse/example/notify_store_retrieve.c:296,1
    - Dst: assert
      Src: /src/libfuse/example/notify_store_retrieve.c:297,1
    - Dst: strncmp
      Src: /src/libfuse/example/notify_store_retrieve.c:297,1
    - Dst: free
      Src: /src/libfuse/example/notify_store_retrieve.c:298,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/example/notify_store_retrieve.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - req
    - cookie
    - ino
    - offset
    - data
    argTypes:
    - fuse_req_t
    - void*
    - fuse_ino_t
    - off_t
    - struct fuse_bufvec*
    assertStmts:
    - condition: (ino == FILE_INO)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/libfuse/example/notify_store_retrieve.c
    - condition: (offset == 0)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/libfuse/example/notify_store_retrieve.c
    - condition: (strncmp(buf, expected, ret) == 0)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/libfuse/example/notify_store_retrieve.c
    - condition: (ret > 0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/libfuse/example/notify_store_retrieve.c
    constantsTouched: []
    func_position:
      end: 301
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 301
    functionName: tfs_retrieve_reply
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - assert
    - strncmp
    - fuse_reply_none
    - fuse_buf_copy
    - free
    linkageType: ''
    returnType: void
    signature: "void tfs_retrieve_reply(fuse_req_t req, void *cookie, fuse_ino_t ino,\n
      \                              off_t offset, struct fuse_bufvec *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/libfuse/example/notify_store_retrieve.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - userdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: tfs_destroy
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void tfs_destroy(void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libfuse/example/notify_store_retrieve.c:328,1
    - Dst: localtime
      Src: /src/libfuse/example/notify_store_retrieve.c:329,1
    - Dst: assert
      Src: /src/libfuse/example/notify_store_retrieve.c:330,1
    - Dst: strftime
      Src: /src/libfuse/example/notify_store_retrieve.c:332,1
    - Dst: assert
      Src: /src/libfuse/example/notify_store_retrieve.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (now != NULL)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/libfuse/example/notify_store_retrieve.c
    - condition: (file_size != 0)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/libfuse/example/notify_store_retrieve.c
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: update_fs
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - localtime
    - strftime
    - assert
    - time
    linkageType: ''
    returnType: void
    signature: void update_fs(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: update_fs
      Src: /src/libfuse/example/notify_store_retrieve.c:343,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/notify_store_retrieve.c:344,1
    - Dst: fuse_lowlevel_notify_store
      Src: /src/libfuse/example/notify_store_retrieve.c:361,1
    - Dst: fprintf
      Src: /src/libfuse/example/notify_store_retrieve.c:364,1
    - Dst: strerror
      Src: /src/libfuse/example/notify_store_retrieve.c:366,1
    - Dst: abort
      Src: /src/libfuse/example/notify_store_retrieve.c:367,1
    - Dst: fuse_lowlevel_notify_retrieve
      Src: /src/libfuse/example/notify_store_retrieve.c:372,1
    - Dst: strdup
      Src: /src/libfuse/example/notify_store_retrieve.c:373,1
    - Dst: assert
      Src: /src/libfuse/example/notify_store_retrieve.c:374,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/notify_store_retrieve.c:379,1
    - Dst: sleep
      Src: /src/libfuse/example/notify_store_retrieve.c:380,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: "((ret == 0 || is_umount) || ret == -ENOENT || ret == -EBADF ||\n
        \                  ret != -ENODEV)"
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/libfuse/example/notify_store_retrieve.c
    constantsTouched: []
    func_position:
      end: 383
      start: 337
    functionDepth: 6
    functionLinenumber: 337
    functionLinenumberEnd: 383
    functionName: update_fs_loop
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 0
    functionsReached:
    - strdup
    - pthread_mutex_lock
    - assert
    - fuse_lowlevel_notify_retrieve
    - strerror
    - update_fs
    - pthread_mutex_unlock
    - fprintf
    - sleep
    - fuse_lowlevel_notify_store
    - abort
    linkageType: ''
    returnType: void
    signature: void * update_fs_loop(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/example/notify_store_retrieve.c:387,1
    - Dst: printf
      Src: /src/libfuse/example/notify_store_retrieve.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: show_help
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_help(const char *progname)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/notify_store_retrieve.c:395,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/example/notify_store_retrieve.c:401,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/example/notify_store_retrieve.c:404,1
    - Dst: show_help
      Src: /src/libfuse/example/notify_store_retrieve.c:407,1
    - Dst: fuse_cmdline_help
      Src: /src/libfuse/example/notify_store_retrieve.c:408,1
    - Dst: fuse_lowlevel_help
      Src: /src/libfuse/example/notify_store_retrieve.c:409,1
    - Dst: printf
      Src: /src/libfuse/example/notify_store_retrieve.c:413,1
    - Dst: fuse_pkgversion
      Src: /src/libfuse/example/notify_store_retrieve.c:413,1
    - Dst: fuse_lowlevel_version
      Src: /src/libfuse/example/notify_store_retrieve.c:414,1
    - Dst: update_fs
      Src: /src/libfuse/example/notify_store_retrieve.c:420,1
    - Dst: fuse_session_new
      Src: /src/libfuse/example/notify_store_retrieve.c:422,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/example/notify_store_retrieve.c:427,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/example/notify_store_retrieve.c:430,1
    - Dst: fuse_daemonize
      Src: /src/libfuse/example/notify_store_retrieve.c:433,1
    - Dst: pthread_create
      Src: /src/libfuse/example/notify_store_retrieve.c:436,1
    - Dst: fprintf
      Src: /src/libfuse/example/notify_store_retrieve.c:438,1
    - Dst: strerror
      Src: /src/libfuse/example/notify_store_retrieve.c:439,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/example/notify_store_retrieve.c:445,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/example/notify_store_retrieve.c:447,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/example/notify_store_retrieve.c:448,1
    - Dst: fuse_loop_cfg_set_max_threads
      Src: /src/libfuse/example/notify_store_retrieve.c:449,1
    - Dst: fuse_session_loop_mt
      Src: /src/libfuse/example/notify_store_retrieve.c:450,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/example/notify_store_retrieve.c:451,1
    - Dst: assert
      Src: /src/libfuse/example/notify_store_retrieve.c:455,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/example/notify_store_retrieve.c:456,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/example/notify_store_retrieve.c:458,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/example/notify_store_retrieve.c:460,1
    - Dst: free
      Src: /src/libfuse/example/notify_store_retrieve.c:462,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/notify_store_retrieve.c:463,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (retrieve_status != 1)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/libfuse/example/notify_store_retrieve.c
    constantsTouched: []
    func_position:
      end: 466
      start: 394
    functionDepth: 13
    functionLinenumber: 394
    functionLinenumberEnd: 466
    functionName: main
    functionSourceFile: /src/libfuse/example/notify_store_retrieve.c
    functionUses: 2
    functionsReached:
    - fuse_session_unmount
    - fuse_daemonize
    - fuse_lowlevel_help
    - fuse_session_mount
    - FUSE_ARGS_INIT
    - pthread_create
    - update_fs
    - fuse_session_loop
    - fuse_opt_free_args
    - fuse_parse_cmdline
    - show_help
    - fuse_lowlevel_version
    - fuse_session_destroy
    - fuse_set_signal_handlers
    - fuse_session_new
    - fuse_loop_cfg_destroy
    - fuse_remove_signal_handlers
    - fuse_opt_parse
    - fuse_loop_cfg_set_max_threads
    - fuse_loop_cfg_set_clone_fd
    - assert
    - strerror
    - fuse_cmdline_help
    - fprintf
    - free
    - fuse_session_loop_mt
    - fuse_pkgversion
    - fuse_loop_cfg_create
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - 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: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: DIV_ROUND_UP
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIV_ROUND_UP(n, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - entries
    argTypes:
    - std::vector<std::pair<std::string, const Dentry *> >
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: DirHandle
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DirHandle(const std::vector<std::pair<std::string, const Dentry
      *> >\n\t\t\t  &entries)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libfuse/example/memfs_ll.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ino
    - n
    - dir
    argTypes:
    - uint64_t
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: Inode::Inode
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void Inode(uint64_t ino, const std::string &n, bool dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: Inode::get_ino
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_ino() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Inode::lock
      Src: /src/libfuse/example/memfs_ll.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: Inode::lock
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Inode::lock
    linkageType: ''
    returnType: void
    signature: void lock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Inode::unlock
      Src: /src/libfuse/example/memfs_ll.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: Inode::unlock
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Inode::unlock
    linkageType: ''
    returnType: void
    signature: void unlock() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: Inode::inc_lookup
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void inc_lookup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_lock::unlock
      Src: /src/libfuse/example/memfs_ll.cc:120,1
    - Dst: memfs_panic
      Src: /src/libfuse/example/memfs_ll.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - count
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: Inode::dec_lookup
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - std::unique_lock::unlock
    - memfs_panic
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t dec_lookup(uint64_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '&get_name() const'
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &get_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: Inode::is_dir
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_dir() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: Inode::get_ctime
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t get_ctime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: Inode::get_mtime
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t get_mtime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: Inode::get_mode
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mode_t
    signature: mode_t get_mode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libfuse/example/memfs_ll.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: Inode::content_size
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t content_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libfuse/example/memfs_ll.cc:155,1
    - Dst: size
      Src: /src/libfuse/example/memfs_ll.cc:155,1
    - Dst: std::copy
      Src: /src/libfuse/example/memfs_ll.cc:156,1
    - Dst: begin
      Src: /src/libfuse/example/memfs_ll.cc:156,1
    - Dst: begin
      Src: /src/libfuse/example/memfs_ll.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - size
    - offset
    argTypes:
    - char*
    - size_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: Inode::read_content
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - begin
    - size
    - std::copy
    - min
    linkageType: ''
    returnType: void
    signature: void read_content(char *buf, size_t size, off_t offset) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libfuse/example/memfs_ll.cc:163,1
    - Dst: resize
      Src: /src/libfuse/example/memfs_ll.cc:164,1
    - Dst: std::copy
      Src: /src/libfuse/example/memfs_ll.cc:166,1
    - Dst: begin
      Src: /src/libfuse/example/memfs_ll.cc:166,1
    - Dst: time
      Src: /src/libfuse/example/memfs_ll.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - size
    - offset
    argTypes:
    - char*
    - size_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: Inode::write_content
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - resize
    - begin
    - std::copy
    - time
    - size
    linkageType: ''
    returnType: void
    signature: void write_content(const char *buf, size_t size, off_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _uid
    argTypes:
    - uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: Inode::set_uid
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_uid(uid_t _uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _gid
    argTypes:
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: Inode::set_gid
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_gid(gid_t _gid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_mode
    argTypes:
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: Inode::set_mode
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_mode(mode_t new_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _atime
    argTypes:
    - struct timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: Inode::set_atime
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_atime(const struct timespec &_atime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _mtime
    argTypes:
    - struct timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: Inode::set_mtime
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_mtime(const struct timespec &_mtime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libfuse/example/memfs_ll.cc:203,1
    - Dst: resize
      Src: /src/libfuse/example/memfs_ll.cc:204,1
    - Dst: size
      Src: /src/libfuse/example/memfs_ll.cc:205,1
    - Dst: resize
      Src: /src/libfuse/example/memfs_ll.cc:206,1
    - Dst: time
      Src: /src/libfuse/example/memfs_ll.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - size
    argTypes:
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: Inode::truncate
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - resize
    - time
    - size
    linkageType: ''
    returnType: void
    signature: void truncate(off_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libfuse/example/memfs_ll.cc:219,1
    - Dst: DIV_ROUND_UP
      Src: /src/libfuse/example/memfs_ll.cc:220,1
    - Dst: size
      Src: /src/libfuse/example/memfs_ll.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - stbuf
    argTypes:
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: Inode::get_attr
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - DIV_ROUND_UP
    - size
    linkageType: ''
    returnType: void
    signature: void get_attr(struct stat *stbuf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/libfuse/example/memfs_ll.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: Inode::is_empty
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool is_empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: Inode::inc_nlink
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void inc_nlink()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/libfuse/example/memfs_ll.cc:239,1
    - Dst: memfs_panic
      Src: /src/libfuse/example/memfs_ll.cc:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: Inode::dec_nlink
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - fetch_sub
    - memfs_panic
    linkageType: ''
    returnType: nlink_t
    signature: nlink_t dec_nlink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - n
    - i
    argTypes:
    - std::string
    - Inode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: Dentry::Dentry
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dentry(const std::string &n, Inode *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dentry::get_ino
      Src: /src/libfuse/example/memfs_ll.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: Dentry::get_ino
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Dentry::get_ino
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_ino() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dentry::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: Dentry::is_dir
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Dentry::is_dir
    linkageType: ''
    returnType: bool
    signature: bool is_dir() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: '&get_name() const'
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &get_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dentry::get_ctime
      Src: /src/libfuse/example/memfs_ll.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: Dentry::get_ctime
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Dentry::get_ctime
    linkageType: ''
    returnType: time_t
    signature: time_t get_ctime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dentry::get_mtime
      Src: /src/libfuse/example/memfs_ll.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: Dentry::get_mtime
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Dentry::get_mtime
    linkageType: ''
    returnType: time_t
    signature: time_t get_mtime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dentry::get_mode
      Src: /src/libfuse/example/memfs_ll.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: Dentry::get_mode
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Dentry::get_mode
    linkageType: ''
    returnType: mode_t
    signature: mode_t get_mode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dentry::content_size
      Src: /src/libfuse/example/memfs_ll.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: Dentry::content_size
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Dentry::content_size
    linkageType: ''
    returnType: size_t
    signature: size_t content_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: Dentry::get_inode
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Inode
    signature: Inode *get_inode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dentry::inc_lookup
      Src: /src/libfuse/example/memfs_ll.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: Dentry::inc_lookup
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Dentry::inc_lookup
    linkageType: ''
    returnType: void
    signature: void inc_lookup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Inode>
      Src: /src/libfuse/example/memfs_ll.cc:320,1
    - Dst: std::move
      Src: /src/libfuse/example/memfs_ll.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: Inodes::Inodes
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Inode>
    - std::move
    linkageType: ''
    returnType: void
    signature: void Inodes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Inodes::lock
      Src: /src/libfuse/example/memfs_ll.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: Inodes::lock
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Inodes::lock
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Inodes::unlock
      Src: /src/libfuse/example/memfs_ll.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: Inodes::unlock
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Inodes::unlock
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Inodes::erase
      Src: /src/libfuse/example/memfs_ll.cc:341,1
    - Dst: Inode*::get_ino
      Src: /src/libfuse/example/memfs_ll.cc:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - inode
    argTypes:
    - Inode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: Inodes::erase_locked
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - Inodes::erase
    - Inode*::get_ino
    linkageType: ''
    returnType: void
    signature: void erase_locked(Inode *inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Inodes::erase_locked
      Src: /src/libfuse/example/memfs_ll.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inode
    argTypes:
    - Inode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: Inodes::erase
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Inodes::erase_locked
    linkageType: ''
    returnType: void
    signature: void erase(Inode *inode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Inodes::find
      Src: /src/libfuse/example/memfs_ll.cc:353,1
    - Dst: end
      Src: /src/libfuse/example/memfs_ll.cc:354,1
    - Dst: auto::second::get
      Src: /src/libfuse/example/memfs_ll.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ino
    argTypes:
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: Inodes::find_locked
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - auto::second::get
    - end
    - Inodes::find
    linkageType: ''
    returnType: Inode
    signature: Inode *find_locked(fuse_ino_t ino)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Inodes::find_locked
      Src: /src/libfuse/example/memfs_ll.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ino
    argTypes:
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: Inodes::find
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Inodes::find_locked
    linkageType: ''
    returnType: Inode
    signature: Inode *find(fuse_ino_t ino)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/libfuse/example/memfs_ll.cc:370,1
    - Dst: std::make_unique<Inode>
      Src: /src/libfuse/example/memfs_ll.cc:371,1
    - Dst: auto::set_mode
      Src: /src/libfuse/example/memfs_ll.cc:372,1
    - Dst: emplace
      Src: /src/libfuse/example/memfs_ll.cc:374,1
    - Dst: std::move
      Src: /src/libfuse/example/memfs_ll.cc:374,1
    - Dst: second::get
      Src: /src/libfuse/example/memfs_ll.cc:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - is_dir
    - mode
    argTypes:
    - std::string
    - bool
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 382
    functionName: Inodes::create
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Inode>
    - emplace
    - auto::set_mode
    - fetch_add
    - second::get
    - std::move
    linkageType: ''
    returnType: Inode
    signature: Inode *create(const std::string &name, bool is_dir, mode_t mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Inodes::size
      Src: /src/libfuse/example/memfs_ll.cc:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: Inodes::size
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 1
    functionsReached:
    - Inodes::size
    linkageType: ''
    returnType: size_t
    signature: size_t size()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/libfuse/example/memfs_ll.cc:398,1
    - Dst: begin
      Src: /src/libfuse/example/memfs_ll.cc:398,1
    - Dst: end
      Src: /src/libfuse/example/memfs_ll.cc:398,1
    - Dst: get_name
      Src: /src/libfuse/example/memfs_ll.cc:400,1
    - Dst: end
      Src: /src/libfuse/example/memfs_ll.cc:403,1
    - Dst: push_back
      Src: /src/libfuse/example/memfs_ll.cc:407,1
    - Dst: Dentry*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - name
    - child_dentry
    argTypes:
    - std::string
    - Dentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 412
    functionName: Inode::add_child_locked
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - end
    - get_name
    - std::find_if
    - begin
    - push_back
    - Dentry*::is_dir
    linkageType: ''
    returnType: int
    signature: int Inode::add_child_locked(const std::string &name, Dentry *child_dentry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Inode::add_child_locked
      Src: /src/libfuse/example/memfs_ll.cc:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - child_dentry
    argTypes:
    - std::string
    - Dentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: Inode::add_child
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - Inode::add_child_locked
    linkageType: ''
    returnType: int
    signature: int Inode::add_child(const std::string &name, Dentry *child_dentry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/libfuse/example/memfs_ll.cc:426,1
    - Dst: begin
      Src: /src/libfuse/example/memfs_ll.cc:426,1
    - Dst: end
      Src: /src/libfuse/example/memfs_ll.cc:426,1
    - Dst: get_name
      Src: /src/libfuse/example/memfs_ll.cc:428,1
    - Dst: end
      Src: /src/libfuse/example/memfs_ll.cc:431,1
    - Dst: erase
      Src: /src/libfuse/example/memfs_ll.cc:436,1
    - Dst: Dentry*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 444
    functionName: Inode::remove_child
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - end
    - get_name
    - std::find_if
    - begin
    - erase
    - Dentry*::is_dir
    linkageType: ''
    returnType: int
    signature: int Inode::remove_child(const std::string &name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/libfuse/example/memfs_ll.cc:451,1
    - Dst: begin
      Src: /src/libfuse/example/memfs_ll.cc:451,1
    - Dst: end
      Src: /src/libfuse/example/memfs_ll.cc:451,1
    - Dst: get_name
      Src: /src/libfuse/example/memfs_ll.cc:453,1
    - Dst: end
      Src: /src/libfuse/example/memfs_ll.cc:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 457
    functionName: Inode::find_child_locked
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - get_name
    - std::find_if
    - end
    - begin
    linkageType: ''
    returnType: Dentry
    signature: Dentry *Inode::find_child_locked(const std::string &name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Inode::find_child_locked
      Src: /src/libfuse/example/memfs_ll.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: Inode::find_child
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - Inode::find_child_locked
    linkageType: ''
    returnType: Dentry
    signature: Dentry *Inode::find_child(const std::string &name) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libfuse/example/memfs_ll.cc:472,1
    - Dst: size
      Src: /src/libfuse/example/memfs_ll.cc:472,1
    - Dst: size
      Src: /src/libfuse/example/memfs_ll.cc:474,1
    - Dst: Dentry*::get_name
      Src: /src/libfuse/example/memfs_ll.cc:476,1
    - Dst: std::vector::emplace_back
      Src: /src/libfuse/example/memfs_ll.cc:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 481
    functionName: Inode::get_children
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::vector::emplace_back
    - Dentry*::get_name
    - size
    linkageType: ''
    returnType: std::vector<std::pair<std::string, const Dentry *> >
    signature: std::vector<std::pair<std::string, const Dentry *> > Inode::get_children()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:486,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:489,1
    - Dst: auto*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:493,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:494,1
    - Dst: auto*::find_child
      Src: /src/libfuse/example/memfs_ll.cc:498,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:500,1
    - Dst: memset
      Src: /src/libfuse/example/memfs_ll.cc:505,1
    - Dst: Dentry*::get_ino
      Src: /src/libfuse/example/memfs_ll.cc:506,1
    - Dst: Dentry*::get_ino
      Src: /src/libfuse/example/memfs_ll.cc:509,1
    - Dst: Dentry*::get_mode
      Src: /src/libfuse/example/memfs_ll.cc:510,1
    - Dst: Dentry*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:511,1
    - Dst: Dentry*::inc_lookup
      Src: /src/libfuse/example/memfs_ll.cc:513,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/memfs_ll.cc:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 484
    functionDepth: 7
    functionLinenumber: 484
    functionLinenumberEnd: 516
    functionName: memfs_lookup
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - Dentry*::inc_lookup
    - auto*::is_dir
    - auto*::find_child
    - find
    - Dentry*::get_ino
    - Dentry*::get_mode
    - memset
    - fuse_reply_entry
    - fuse_reply_err
    - Dentry*::is_dir
    linkageType: ''
    returnType: void
    signature: void memfs_lookup(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:523,1
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:527,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:529,1
    - Dst: auto*::get_attr
      Src: /src/libfuse/example/memfs_ll.cc:534,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/example/memfs_ll.cc:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 518
    functionDepth: 7
    functionLinenumber: 518
    functionLinenumberEnd: 538
    functionName: memfs_getattr
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - auto*::get_attr
    - fuse_reply_err
    - fuse_reply_attr
    - find
    linkageType: ''
    returnType: void
    signature: "void memfs_getattr(fuse_req_t req, fuse_ino_t ino,\n\t\t\t  struct
      fuse_file_info *fi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:543,1
    - Dst: auto*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:544,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:545,1
    - Dst: auto*::find_child
      Src: /src/libfuse/example/memfs_ll.cc:549,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:550,1
    - Dst: create
      Src: /src/libfuse/example/memfs_ll.cc:554,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:556,1
    - Dst: Dentry::Dentry
      Src: /src/libfuse/example/memfs_ll.cc:561,1
    - Dst: auto*::add_child
      Src: /src/libfuse/example/memfs_ll.cc:567,1
    - Dst: memset
      Src: /src/libfuse/example/memfs_ll.cc:570,1
    - Dst: Inode*::get_ino
      Src: /src/libfuse/example/memfs_ll.cc:571,1
    - Dst: Inode*::get_attr
      Src: /src/libfuse/example/memfs_ll.cc:574,1
    - Dst: fuse_reply_create
      Src: /src/libfuse/example/memfs_ll.cc:577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - req
    - parent
    - name
    - mode
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 540
    functionDepth: 7
    functionLinenumber: 540
    functionLinenumberEnd: 578
    functionName: memfs_create
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - auto*::is_dir
    - Inode*::get_ino
    - fuse_reply_create
    - auto*::find_child
    - auto*::add_child
    - find
    - Dentry::Dentry
    - Inode*::get_attr
    - memset
    - create
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void memfs_create(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t\t
      mode_t mode, struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:584,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:586,1
    - Dst: Inode*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:590,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:591,1
    - Dst: Inode*::write_content
      Src: /src/libfuse/example/memfs_ll.cc:595,1
    - Dst: fuse_reply_write
      Src: /src/libfuse/example/memfs_ll.cc:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - req
    - ino
    - buf
    - size
    - offset
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 580
    functionDepth: 8
    functionLinenumber: 580
    functionLinenumberEnd: 597
    functionName: memfs_write
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - Inode*::write_content
    - Inode*::is_dir
    - fuse_reply_write
    - find
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void memfs_write(fuse_req_t req, fuse_ino_t ino, const char *buf,\n\t\t\tsize_t
      size, off_t offset,\n\t\t\t[[maybe_unused]] struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:602,1
    - Dst: Inode*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:603,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:604,1
    - Dst: Inode*::lock
      Src: /src/libfuse/example/memfs_ll.cc:608,1
    - Dst: Inode*::content_size
      Src: /src/libfuse/example/memfs_ll.cc:610,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/memfs_ll.cc:611,1
    - Dst: Inode*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:612,1
    - Dst: min
      Src: /src/libfuse/example/memfs_ll.cc:617,1
    - Dst: Inode*::content_size
      Src: /src/libfuse/example/memfs_ll.cc:617,1
    - Dst: Inode*::read_content
      Src: /src/libfuse/example/memfs_ll.cc:618,1
    - Dst: std::vector::data
      Src: /src/libfuse/example/memfs_ll.cc:618,1
    - Dst: std::vector::size
      Src: /src/libfuse/example/memfs_ll.cc:618,1
    - Dst: Inode*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:620,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/memfs_ll.cc:622,1
    - Dst: std::vector::data
      Src: /src/libfuse/example/memfs_ll.cc:622,1
    - Dst: std::vector::size
      Src: /src/libfuse/example/memfs_ll.cc:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - offset
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 599
    functionDepth: 7
    functionLinenumber: 599
    functionLinenumberEnd: 623
    functionName: memfs_read
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - Inode*::unlock
    - Inode*::is_dir
    - std::vector::data
    - find
    - Inode*::lock
    - fuse_reply_buf
    - Inode*::content_size
    - min
    - fuse_reply_err
    - std::vector::size
    - Inode*::read_content
    linkageType: ''
    returnType: void
    signature: "void memfs_read(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t
      \      off_t offset, [[maybe_unused]] struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:628,1
    - Dst: auto*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:629,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:630,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/memfs_ll.cc:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 625
    functionDepth: 7
    functionLinenumber: 625
    functionLinenumberEnd: 637
    functionName: memfs_open
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - auto*::is_dir
    - fuse_reply_open
    - find
    linkageType: ''
    returnType: void
    signature: "void memfs_open(fuse_req_t req, fuse_ino_t ino,\n\t\t       struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:642,1
    - Dst: auto*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:643,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:644,1
    - Dst: auto*::get_children
      Src: /src/libfuse/example/memfs_ll.cc:649,1
    - Dst: DirHandle::DirHandle
      Src: /src/libfuse/example/memfs_ll.cc:649,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/libfuse/example/memfs_ll.cc:652,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/memfs_ll.cc:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 639
    functionDepth: 7
    functionLinenumber: 639
    functionLinenumberEnd: 655
    functionName: memfs_opendir
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - auto*::is_dir
    - DirHandle::DirHandle
    - fuse_reply_open
    - auto*::get_children
    - find
    - fuse_reply_err
    - reinterpret_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: "void memfs_opendir(fuse_req_t req, fuse_ino_t ino,\n\t\t\t  struct
      fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DirHandle *>
      Src: /src/libfuse/example/memfs_ll.cc:660,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:662,1
    - Dst: char::char
      Src: /src/libfuse/example/memfs_ll.cc:666,1
    - Dst: static_cast<off_t>
      Src: /src/libfuse/example/memfs_ll.cc:670,1
    - Dst: auto*::entries::size
      Src: /src/libfuse/example/memfs_ll.cc:670,1
    - Dst: memset
      Src: /src/libfuse/example/memfs_ll.cc:676,1
    - Dst: Dentry*::get_inode
      Src: /src/libfuse/example/memfs_ll.cc:677,1
    - Dst: Dentry*::get_inode
      Src: /src/libfuse/example/memfs_ll.cc:678,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/memfs_ll.cc:680,1
    - Dst: std::string::c_str
      Src: /src/libfuse/example/memfs_ll.cc:681,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/memfs_ll.cc:686,1
    - Dst: std::string::c_str
      Src: /src/libfuse/example/memfs_ll.cc:687,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/memfs_ll.cc:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - offset
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 657
    functionDepth: 7
    functionLinenumber: 657
    functionLinenumberEnd: 693
    functionName: memfs_readdir
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - static_cast<off_t>
    - fuse_add_direntry
    - reinterpret_cast<DirHandle *>
    - std::string::c_str
    - auto*::entries::size
    - char::char
    - fuse_reply_buf
    - memset
    - fuse_reply_err
    - Dentry*::get_inode
    linkageType: ''
    returnType: void
    signature: "void memfs_readdir(fuse_req_t req, [[maybe_unused]] fuse_ino_t ino,\n\t\t\t
      \ size_t size, off_t offset, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 695
    functionDepth: 6
    functionLinenumber: 695
    functionLinenumberEnd: 702
    functionName: memfs_release
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void memfs_release(fuse_req_t req, fuse_ino_t ino,\n\t\t\t  struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DirHandle *>
      Src: /src/libfuse/example/memfs_ll.cc:707,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 6
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: memfs_releasedir
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - reinterpret_cast<DirHandle *>
    linkageType: ''
    returnType: void
    signature: "void memfs_releasedir(fuse_req_t req, [[maybe_unused]] fuse_ino_t
      ino,\n\t\t\t     struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abort
      Src: /src/libfuse/example/memfs_ll.cc:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: memfs_panic
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 2
    functionsReached:
    - std::abort
    linkageType: ''
    returnType: void
    signature: void memfs_panic(std::string_view message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/libfuse/example/memfs_ll.cc:720,1
    - Dst: find_locked
      Src: /src/libfuse/example/memfs_ll.cc:721,1
    - Dst: Inode*::dec_lookup
      Src: /src/libfuse/example/memfs_ll.cc:724,1
    - Dst: erase_locked
      Src: /src/libfuse/example/memfs_ll.cc:726,1
    - Dst: unlock
      Src: /src/libfuse/example/memfs_ll.cc:728,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/example/memfs_ll.cc:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - req
    - ino
    - nlookup
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 718
    functionDepth: 4
    functionLinenumber: 718
    functionLinenumberEnd: 730
    functionName: memfs_forget
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - Inode*::dec_lookup
    - unlock
    - fuse_reply_none
    - erase_locked
    - find_locked
    - lock
    linkageType: ''
    returnType: void
    signature: void memfs_forget(fuse_req_t req, fuse_ino_t ino, uint64_t nlookup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:738,1
    - Dst: auto*::dec_lookup
      Src: /src/libfuse/example/memfs_ll.cc:740,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/example/memfs_ll.cc:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - req
    - count
    - forgets
    argTypes:
    - fuse_req_t
    - size_t
    - struct fuse_forget_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 732
    functionDepth: 4
    functionLinenumber: 732
    functionLinenumberEnd: 744
    functionName: memfs_forget_multi
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_none
    - find
    - auto*::dec_lookup
    linkageType: ''
    returnType: void
    signature: "void memfs_forget_multi(fuse_req_t req, size_t count,\n\t\t\t       struct
      fuse_forget_data *forgets)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:751,1
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:755,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:757,1
    - Dst: auto*::lock
      Src: /src/libfuse/example/memfs_ll.cc:761,1
    - Dst: auto*::set_mode
      Src: /src/libfuse/example/memfs_ll.cc:764,1
    - Dst: auto*::set_uid
      Src: /src/libfuse/example/memfs_ll.cc:766,1
    - Dst: auto*::set_gid
      Src: /src/libfuse/example/memfs_ll.cc:768,1
    - Dst: auto*::truncate
      Src: /src/libfuse/example/memfs_ll.cc:770,1
    - Dst: auto*::set_atime
      Src: /src/libfuse/example/memfs_ll.cc:772,1
    - Dst: auto*::set_mtime
      Src: /src/libfuse/example/memfs_ll.cc:774,1
    - Dst: auto*::get_attr
      Src: /src/libfuse/example/memfs_ll.cc:777,1
    - Dst: auto*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:778,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/example/memfs_ll.cc:780,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - req
    - ino
    - attr
    - to_set
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct stat*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 746
    functionDepth: 7
    functionLinenumber: 746
    functionLinenumberEnd: 781
    functionName: memfs_setattr
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - auto*::get_attr
    - find
    - auto*::set_mtime
    - auto*::set_uid
    - auto*::set_mode
    - auto*::lock
    - auto*::set_gid
    - auto*::set_atime
    - fuse_reply_err
    - auto*::unlock
    - auto*::truncate
    - fuse_reply_attr
    linkageType: ''
    returnType: void
    signature: "void memfs_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr,\n\t\t\t
      \ int to_set, struct fuse_file_info *fi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:792,1
    - Dst: Inode*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:793,1
    - Dst: create
      Src: /src/libfuse/example/memfs_ll.cc:798,1
    - Dst: Dentry::Dentry
      Src: /src/libfuse/example/memfs_ll.cc:804,1
    - Dst: Inode*::add_child
      Src: /src/libfuse/example/memfs_ll.cc:805,1
    - Dst: memset
      Src: /src/libfuse/example/memfs_ll.cc:810,1
    - Dst: Inode*::get_ino
      Src: /src/libfuse/example/memfs_ll.cc:811,1
    - Dst: Inode*::get_attr
      Src: /src/libfuse/example/memfs_ll.cc:814,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/memfs_ll.cc:818,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:820,1
    - Dst: erase_locked
      Src: /src/libfuse/example/memfs_ll.cc:826,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 4
    argNames:
    - req
    - parent
    - name
    - mode
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 783
    functionDepth: 7
    functionLinenumber: 783
    functionLinenumberEnd: 828
    functionName: memfs_mkdir
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - Inode*::is_dir
    - Inode*::get_ino
    - Dentry::Dentry
    - find
    - Inode*::get_attr
    - Inode*::add_child
    - memset
    - erase_locked
    - create
    - fuse_reply_err
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: "void memfs_mkdir(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t\tmode_t
      mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:832,1
    - Dst: auto*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:833,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:834,1
    - Dst: auto*::lock
      Src: /src/libfuse/example/memfs_ll.cc:838,1
    - Dst: auto*::find_child_locked
      Src: /src/libfuse/example/memfs_ll.cc:840,1
    - Dst: auto*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:842,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:843,1
    - Dst: auto::get_inode
      Src: /src/libfuse/example/memfs_ll.cc:847,1
    - Dst: Inode*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:848,1
    - Dst: Inode*::is_empty
      Src: /src/libfuse/example/memfs_ll.cc:848,1
    - Dst: auto*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:849,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:850,1
    - Dst: Inode*::is_empty
      Src: /src/libfuse/example/memfs_ll.cc:850,1
    - Dst: auto*::remove_child
      Src: /src/libfuse/example/memfs_ll.cc:856,1
    - Dst: Inode*::dec_nlink
      Src: /src/libfuse/example/memfs_ll.cc:857,1
    - Dst: auto*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:859,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:861,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 830
    functionDepth: 6
    functionLinenumber: 830
    functionLinenumberEnd: 862
    functionName: memfs_rmdir
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - auto*::is_dir
    - Inode*::is_dir
    - find
    - auto*::remove_child
    - auto*::lock
    - auto*::find_child_locked
    - auto::get_inode
    - fuse_reply_err
    - auto*::unlock
    - Inode*::dec_nlink
    - Inode*::is_empty
    linkageType: ''
    returnType: void
    signature: void memfs_rmdir(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:866,1
    - Dst: auto*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:867,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:868,1
    - Dst: auto*::lock
      Src: /src/libfuse/example/memfs_ll.cc:872,1
    - Dst: auto*::find_child_locked
      Src: /src/libfuse/example/memfs_ll.cc:874,1
    - Dst: auto*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:876,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:877,1
    - Dst: auto::get_inode
      Src: /src/libfuse/example/memfs_ll.cc:881,1
    - Dst: Inode*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:882,1
    - Dst: auto*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:883,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:884,1
    - Dst: auto*::remove_child
      Src: /src/libfuse/example/memfs_ll.cc:888,1
    - Dst: Inode*::dec_nlink
      Src: /src/libfuse/example/memfs_ll.cc:889,1
    - Dst: auto*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:891,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 864
    functionDepth: 6
    functionLinenumber: 864
    functionLinenumberEnd: 894
    functionName: memfs_unlink
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - auto*::is_dir
    - Inode*::is_dir
    - find
    - auto*::remove_child
    - auto*::lock
    - auto*::find_child_locked
    - auto::get_inode
    - fuse_reply_err
    - auto*::unlock
    - Inode*::dec_nlink
    linkageType: ''
    returnType: void
    signature: void memfs_unlink(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:909,1
    - Dst: lock
      Src: /src/libfuse/example/memfs_ll.cc:916,1
    - Dst: find_locked
      Src: /src/libfuse/example/memfs_ll.cc:918,1
    - Dst: find_locked
      Src: /src/libfuse/example/memfs_ll.cc:919,1
    - Dst: Inode*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:920,1
    - Dst: Inode*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:921,1
    - Dst: Inode*::lock
      Src: /src/libfuse/example/memfs_ll.cc:926,1
    - Dst: Inode*::lock
      Src: /src/libfuse/example/memfs_ll.cc:928,1
    - Dst: Inode*::find_child_locked
      Src: /src/libfuse/example/memfs_ll.cc:931,1
    - Dst: Inode*::find_child_locked
      Src: /src/libfuse/example/memfs_ll.cc:937,1
    - Dst: Dentry*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:939,1
    - Dst: Dentry*::get_inode
      Src: /src/libfuse/example/memfs_ll.cc:940,1
    - Dst: Inode*::dec_nlink
      Src: /src/libfuse/example/memfs_ll.cc:944,1
    - Dst: Inode*::remove_child
      Src: /src/libfuse/example/memfs_ll.cc:946,1
    - Dst: Dentry*::get_inode
      Src: /src/libfuse/example/memfs_ll.cc:947,1
    - Dst: Dentry*::get_inode
      Src: /src/libfuse/example/memfs_ll.cc:950,1
    - Dst: Dentry::Dentry
      Src: /src/libfuse/example/memfs_ll.cc:950,1
    - Dst: Inode*::remove_child
      Src: /src/libfuse/example/memfs_ll.cc:951,1
    - Dst: Inode*::add_child_locked
      Src: /src/libfuse/example/memfs_ll.cc:952,1
    - Dst: Inode*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:955,1
    - Dst: Inode*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:957,1
    - Dst: unlock
      Src: /src/libfuse/example/memfs_ll.cc:961,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:962,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 6
    argNames:
    - req
    - parent
    - name
    - newparent
    - newname
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - fuse_ino_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 896
    functionDepth: 6
    functionLinenumber: 896
    functionLinenumberEnd: 963
    functionName: memfs_rename
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - Inode*::unlock
    - Inode*::is_dir
    - Inode*::find_child_locked
    - Inode*::dec_nlink
    - Dentry::Dentry
    - Inode*::lock
    - Inode*::add_child_locked
    - unlock
    - Inode*::remove_child
    - find_locked
    - lock
    - fuse_reply_err
    - Dentry*::get_inode
    - Dentry*::is_dir
    linkageType: ''
    returnType: void
    signature: "void memfs_rename(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t\t
      fuse_ino_t newparent, const char *newname,\n\t\t\t unsigned int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/libfuse/example/memfs_ll.cc:974,1
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:976,1
    - Dst: find
      Src: /src/libfuse/example/memfs_ll.cc:982,1
    - Dst: Inode*::is_dir
      Src: /src/libfuse/example/memfs_ll.cc:983,1
    - Dst: Inode*::lock
      Src: /src/libfuse/example/memfs_ll.cc:988,1
    - Dst: Inode*::find_child_locked
      Src: /src/libfuse/example/memfs_ll.cc:991,1
    - Dst: Inode*::inc_nlink
      Src: /src/libfuse/example/memfs_ll.cc:996,1
    - Dst: std::make_unique<Dentry>
      Src: /src/libfuse/example/memfs_ll.cc:998,1
    - Dst: Inode*::add_child
      Src: /src/libfuse/example/memfs_ll.cc:999,1
    - Dst: std::unique_ptr::get
      Src: /src/libfuse/example/memfs_ll.cc:999,1
    - Dst: memset
      Src: /src/libfuse/example/memfs_ll.cc:1001,1
    - Dst: Inode*::get_attr
      Src: /src/libfuse/example/memfs_ll.cc:1005,1
    - Dst: Inode*::unlock
      Src: /src/libfuse/example/memfs_ll.cc:1008,1
    - Dst: unlock
      Src: /src/libfuse/example/memfs_ll.cc:1011,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/memfs_ll.cc:1014,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/memfs_ll.cc:1016,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 4
    argNames:
    - req
    - ino
    - newparent
    - newname
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 965
    functionDepth: 7
    functionLinenumber: 965
    functionLinenumberEnd: 1018
    functionName: memfs_link
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - Inode*::inc_nlink
    - Inode*::unlock
    - Inode*::is_dir
    - Inode*::find_child_locked
    - std::unique_ptr::get
    - find
    - Inode*::lock
    - Inode*::get_attr
    - Inode*::add_child
    - memset
    - unlock
    - std::make_unique<Dentry>
    - lock
    - fuse_reply_err
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: "void memfs_link(fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,\n\t\t
      \      const char *newname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/memfs_ll.cc:1023,1
    - Dst: size
      Src: /src/libfuse/example/memfs_ll.cc:1029,1
    - Dst: grow_pipe_to_max
      Src: /src/libfuse/example/memfs_ll.cc:1031,1
    - Dst: fuse_reply_statfs
      Src: /src/libfuse/example/memfs_ll.cc:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - req
    - ino
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1020
    functionDepth: 7
    functionLinenumber: 1020
    functionLinenumberEnd: 1048
    functionName: memfs_statfs
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 0
    functionsReached:
    - memset
    - fuse_reply_statfs
    - grow_pipe_to_max
    - size
    linkageType: ''
    returnType: void
    signature: void memfs_statfs(fuse_req_t req, [[maybe_unused]] fuse_ino_t ino)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/memfs_ll.cc:1077,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/example/memfs_ll.cc:1081,1
    - Dst: exit
      Src: /src/libfuse/example/memfs_ll.cc:1085,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/example/memfs_ll.cc:1088,1
    - Dst: printf
      Src: /src/libfuse/example/memfs_ll.cc:1092,1
    - Dst: printf
      Src: /src/libfuse/example/memfs_ll.cc:1093,1
    - Dst: fuse_cmdline_help
      Src: /src/libfuse/example/memfs_ll.cc:1097,1
    - Dst: fuse_lowlevel_help
      Src: /src/libfuse/example/memfs_ll.cc:1098,1
    - Dst: printf
      Src: /src/libfuse/example/memfs_ll.cc:1102,1
    - Dst: fuse_pkgversion
      Src: /src/libfuse/example/memfs_ll.cc:1102,1
    - Dst: fuse_lowlevel_version
      Src: /src/libfuse/example/memfs_ll.cc:1103,1
    - Dst: printf
      Src: /src/libfuse/example/memfs_ll.cc:1109,1
    - Dst: printf
      Src: /src/libfuse/example/memfs_ll.cc:1110,1
    - Dst: fuse_session_new
      Src: /src/libfuse/example/memfs_ll.cc:1115,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/example/memfs_ll.cc:1119,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/example/memfs_ll.cc:1122,1
    - Dst: fuse_daemonize
      Src: /src/libfuse/example/memfs_ll.cc:1125,1
    - Dst: fuse_session_loop_mt
      Src: /src/libfuse/example/memfs_ll.cc:1127,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/example/memfs_ll.cc:1129,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/example/memfs_ll.cc:1131,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/example/memfs_ll.cc:1133,1
    - Dst: free
      Src: /src/libfuse/example/memfs_ll.cc:1135,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/memfs_ll.cc:1136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1139
    functionName: main
    functionSourceFile: /src/libfuse/example/memfs_ll.cc
    functionUses: 2
    functionsReached:
    - fuse_session_unmount
    - fuse_daemonize
    - fuse_lowlevel_help
    - fuse_session_mount
    - FUSE_ARGS_INIT
    - fuse_opt_free_args
    - fuse_parse_cmdline
    - fuse_lowlevel_version
    - fuse_session_destroy
    - fuse_set_signal_handlers
    - exit
    - fuse_session_new
    - fuse_remove_signal_handlers
    - fuse_cmdline_help
    - free
    - fuse_session_loop_mt
    - fuse_pkgversion
    - fuse_loop_cfg_create
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libfuse/example/cuse.c:70,1
    - Dst: memset
      Src: /src/libfuse/example/cuse.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: cusexmp_resize
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 0
    functionsReached:
    - memset
    - realloc
    linkageType: ''
    returnType: int
    signature: int cusexmp_resize(size_t new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cusexmp_resize
      Src: /src/libfuse/example/cuse.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: cusexmp_expand
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 0
    functionsReached:
    - cusexmp_resize
    linkageType: ''
    returnType: int
    signature: int cusexmp_expand(size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userdata
    - conn
    argTypes:
    - void*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: cusexmp_init
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cusexmp_init(void *userdata, struct fuse_conn_info *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/cuse.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - fi
    argTypes:
    - fuse_req_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 7
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: cusexmp_open
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 0
    functionsReached:
    - fuse_reply_open
    linkageType: ''
    returnType: void
    signature: void cusexmp_open(fuse_req_t req, struct fuse_file_info *fi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/cuse.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - req
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 7
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: cusexmp_read
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 0
    functionsReached:
    - fuse_reply_buf
    linkageType: ''
    returnType: void
    signature: "void cusexmp_read(fuse_req_t req, size_t size, off_t off,\n\t\t\t
      struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cusexmp_expand
      Src: /src/libfuse/example/cuse.c:121,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/cuse.c:122,1
    - Dst: memcpy
      Src: /src/libfuse/example/cuse.c:126,1
    - Dst: fuse_reply_write
      Src: /src/libfuse/example/cuse.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - req
    - buf
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 8
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: cusexmp_write
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - cusexmp_expand
    - fuse_reply_write
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void cusexmp_write(fuse_req_t req, const char *buf, size_t size,\n\t\t\t
      \ off_t off, struct fuse_file_info *fi)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_ioctl_retry
      Src: /src/libfuse/example/cuse.c:141,1
    - Dst: fuse_reply_ioctl_retry
      Src: /src/libfuse/example/cuse.c:162,1
    - Dst: fuse_reply_ioctl_retry
      Src: /src/libfuse/example/cuse.c:169,1
    - Dst: fuse_reply_ioctl_iov
      Src: /src/libfuse/example/cuse.c:193,1
    - Dst: cusexmp_expand
      Src: /src/libfuse/example/cuse.c:195,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/cuse.c:196,1
    - Dst: memcpy
      Src: /src/libfuse/example/cuse.c:200,1
    - Dst: fuse_reply_ioctl_iov
      Src: /src/libfuse/example/cuse.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 6
    argNames:
    - req
    - addr
    - in_buf
    - in_bufsz
    - out_bufsz
    - is_read
    argTypes:
    - fuse_req_t
    - void*
    - void*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 130
    functionDepth: 7
    functionLinenumber: 130
    functionLinenumberEnd: 203
    functionName: fioc_do_rw
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cusexmp_expand
    - fuse_reply_ioctl_iov
    - fuse_reply_ioctl_retry
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void fioc_do_rw(fuse_req_t req, void *addr, const void *in_buf,\n\t\t
      \      size_t in_bufsz, size_t out_bufsz, int is_read)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/cuse.c:214,1
    - Dst: fuse_reply_ioctl_retry
      Src: /src/libfuse/example/cuse.c:223,1
    - Dst: fuse_reply_ioctl
      Src: /src/libfuse/example/cuse.c:225,1
    - Dst: fuse_reply_ioctl_retry
      Src: /src/libfuse/example/cuse.c:233,1
    - Dst: cusexmp_resize
      Src: /src/libfuse/example/cuse.c:235,1
    - Dst: fuse_reply_ioctl
      Src: /src/libfuse/example/cuse.c:236,1
    - Dst: fioc_do_rw
      Src: /src/libfuse/example/cuse.c:244,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/cuse.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 8
    argNames:
    - req
    - cmd
    - arg
    - fi
    - flags
    - in_buf
    - in_bufsz
    - out_bufsz
    argTypes:
    - fuse_req_t
    - int
    - void*
    - struct fuse_file_info*
    - unsigned
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 205
    functionDepth: 8
    functionLinenumber: 205
    functionLinenumberEnd: 250
    functionName: cusexmp_ioctl
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 0
    functionsReached:
    - fuse_reply_ioctl
    - cusexmp_resize
    - fioc_do_rw
    - fuse_reply_ioctl_retry
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void cusexmp_ioctl(fuse_req_t req, int cmd, void *arg,\n\t\t\t  struct
      fuse_file_info *fi, unsigned flags,\n\t\t\t  const void *in_buf, size_t in_bufsz,
      size_t out_bufsz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: CUSEXMP_OPT
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUSEXMP_OPT(t, p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libfuse/example/cuse.c:284,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/example/cuse.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - data
    - arg
    - key
    - outargs
    argTypes:
    - void*
    - char*
    - int
    - struct fuse_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 289
    functionName: cusexmp_process_arg
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fuse_opt_add_arg
    linkageType: ''
    returnType: int
    signature: "int cusexmp_process_arg(void *data, const char *arg, int key,\n\t\t\t
      \      struct fuse_args *outargs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/cuse.c:301,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/example/cuse.c:308,1
    - Dst: printf
      Src: /src/libfuse/example/cuse.c:309,1
    - Dst: free
      Src: /src/libfuse/example/cuse.c:310,1
    - Dst: fprintf
      Src: /src/libfuse/example/cuse.c:316,1
    - Dst: strncat
      Src: /src/libfuse/example/cuse.c:319,1
    - Dst: free
      Src: /src/libfuse/example/cuse.c:320,1
    - Dst: memset
      Src: /src/libfuse/example/cuse.c:323,1
    - Dst: cuse_lowlevel_main
      Src: /src/libfuse/example/cuse.c:330,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/cuse.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 299
    functionDepth: 15
    functionLinenumber: 299
    functionLinenumberEnd: 335
    functionName: main
    functionSourceFile: /src/libfuse/example/cuse.c
    functionUses: 3
    functionsReached:
    - cuse_lowlevel_main
    - strncat
    - fuse_opt_free_args
    - memset
    - fprintf
    - fuse_opt_parse
    - free
    - FUSE_ARGS_INIT
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/example/hello_ll_uds.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ino
    - stbuf
    argTypes:
    - fuse_ino_t
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: hello_stat
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int hello_stat(fuse_ino_t ino, struct stat *stbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/hello_ll_uds.c:73,1
    - Dst: hello_stat
      Src: /src/libfuse/example/hello_ll_uds.c:74,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll_uds.c:75,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/example/hello_ll_uds.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 7
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: hello_ll_getattr
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_reply_attr
    - hello_stat
    linkageType: ''
    returnType: void
    signature: "void hello_ll_getattr(fuse_req_t req, fuse_ino_t ino,\n\t\t\t     struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userdata
    - conn
    argTypes:
    - void*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: hello_ll_init
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hello_ll_init(void *userdata, struct fuse_conn_info *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/hello_ll_uds.c:92,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll_uds.c:93,1
    - Dst: memset
      Src: /src/libfuse/example/hello_ll_uds.c:95,1
    - Dst: hello_stat
      Src: /src/libfuse/example/hello_ll_uds.c:99,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/hello_ll_uds.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 7
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: hello_ll_lookup
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - hello_stat
    - memset
    - strcmp
    - fuse_reply_err
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: void hello_ll_lookup(fuse_req_t req, fuse_ino_t parent, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/hello_ll_uds.c:115,1
    - Dst: realloc
      Src: /src/libfuse/example/hello_ll_uds.c:116,1
    - Dst: memset
      Src: /src/libfuse/example/hello_ll_uds.c:117,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/hello_ll_uds.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - req
    - b
    - name
    - ino
    argTypes:
    - fuse_req_t
    - struct dirbuf*
    - char*
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: dirbuf_add
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 1
    functionsReached:
    - fuse_add_direntry
    - memset
    - realloc
    linkageType: ''
    returnType: void
    signature: "void dirbuf_add(fuse_req_t req, struct dirbuf *b, const char *name,\n\t\t
      \      fuse_ino_t ino)"
  - 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: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: min
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(x, y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/hello_ll_uds.c:129,1
    - Dst: min
      Src: /src/libfuse/example/hello_ll_uds.c:130,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/hello_ll_uds.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - req
    - buf
    - bufsize
    - 'off'
    - maxsize
    argTypes:
    - fuse_req_t
    - char*
    - size_t
    - off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 7
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: reply_buf_limited
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 2
    functionsReached:
    - fuse_reply_buf
    - min
    linkageType: ''
    returnType: int
    signature: "int reply_buf_limited(fuse_req_t req, const char *buf, size_t bufsize,\n\t\t\t
      \    off_t off, size_t maxsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll_uds.c:141,1
    - Dst: memset
      Src: /src/libfuse/example/hello_ll_uds.c:145,1
    - Dst: dirbuf_add
      Src: /src/libfuse/example/hello_ll_uds.c:146,1
    - Dst: dirbuf_add
      Src: /src/libfuse/example/hello_ll_uds.c:147,1
    - Dst: dirbuf_add
      Src: /src/libfuse/example/hello_ll_uds.c:148,1
    - Dst: reply_buf_limited
      Src: /src/libfuse/example/hello_ll_uds.c:149,1
    - Dst: free
      Src: /src/libfuse/example/hello_ll_uds.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: hello_ll_readdir
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - dirbuf_add
    - reply_buf_limited
    - memset
    - free
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void hello_ll_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t
      \    off_t off, struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll_uds.c:158,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll_uds.c:160,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/hello_ll_uds.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 7
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: hello_ll_open
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_reply_open
    linkageType: ''
    returnType: void
    signature: "void hello_ll_open(fuse_req_t req, fuse_ino_t ino,\n\t\t\t  struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/example/hello_ll_uds.c:170,1
    - Dst: reply_buf_limited
      Src: /src/libfuse/example/hello_ll_uds.c:171,1
    - Dst: strlen
      Src: /src/libfuse/example/hello_ll_uds.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts:
    - condition: (ino == 2)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/libfuse/example/hello_ll_uds.c
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: hello_ll_read
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - strlen
    - reply_buf_limited
    - assert
    linkageType: ''
    returnType: void
    signature: "void hello_ll_read(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t
      \ off_t off, struct fuse_file_info *fi)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/libfuse/example/hello_ll_uds.c:186,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll_uds.c:188,1
    - Dst: remove
      Src: /src/libfuse/example/hello_ll_uds.c:193,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll_uds.c:194,1
    - Dst: strerror
      Src: /src/libfuse/example/hello_ll_uds.c:195,1
    - Dst: memset
      Src: /src/libfuse/example/hello_ll_uds.c:199,1
    - Dst: strcpy
      Src: /src/libfuse/example/hello_ll_uds.c:200,1
    - Dst: socket
      Src: /src/libfuse/example/hello_ll_uds.c:202,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll_uds.c:204,1
    - Dst: strerror
      Src: /src/libfuse/example/hello_ll_uds.c:204,1
    - Dst: bind
      Src: /src/libfuse/example/hello_ll_uds.c:209,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll_uds.c:211,1
    - Dst: strerror
      Src: /src/libfuse/example/hello_ll_uds.c:211,1
    - Dst: listen
      Src: /src/libfuse/example/hello_ll_uds.c:215,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll_uds.c:218,1
    - Dst: accept
      Src: /src/libfuse/example/hello_ll_uds.c:219,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll_uds.c:221,1
    - Dst: strerror
      Src: /src/libfuse/example/hello_ll_uds.c:222,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll_uds.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - socket_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 228
    functionName: create_socket
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - socket
    - strerror
    - strnlen
    - remove
    - memset
    - bind
    - strcpy
    - accept
    - listen
    - printf
    linkageType: ''
    returnType: int
    signature: int create_socket(const char *socket_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: writev
      Src: /src/libfuse/example/hello_ll_uds.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - fd
    - iov
    - count
    - userdata
    argTypes:
    - int
    - struct iovec*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 250
    functionName: stream_writev
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - writev
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t stream_writev(int fd, struct iovec *iov, int count,\n                             void
      *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libfuse/example/hello_ll_uds.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 267
    functionName: readall
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t readall(int fd, void *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readall
      Src: /src/libfuse/example/hello_ll_uds.c:272,1
    - Dst: readall
      Src: /src/libfuse/example/hello_ll_uds.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - buf
    - buf_len
    - userdata
    argTypes:
    - int
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: stream_read
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - readall
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t stream_read(int fd, void *buf, size_t buf_len, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splice
      Src: /src/libfuse/example/hello_ll_uds.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - fdin
    - offin
    - fdout
    - offout
    - len
    - flags
    - userdata
    argTypes:
    - int
    - off_t*
    - int
    - off_t*
    - size_t
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: stream_splice_send
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - splice
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t stream_splice_send(int fdin, off_t *offin, int fdout,\n\t\t\t\t\t
      \   off_t *offout, size_t len,\n                                  unsigned int
      flags, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/example/hello_ll_uds.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: fuse_cmdline_help_uds
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void fuse_cmdline_help_uds(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/hello_ll_uds.c:314,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/example/hello_ll_uds.c:326,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll_uds.c:329,1
    - Dst: fuse_cmdline_help_uds
      Src: /src/libfuse/example/hello_ll_uds.c:330,1
    - Dst: fuse_lowlevel_help
      Src: /src/libfuse/example/hello_ll_uds.c:331,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll_uds.c:335,1
    - Dst: fuse_pkgversion
      Src: /src/libfuse/example/hello_ll_uds.c:335,1
    - Dst: fuse_lowlevel_version
      Src: /src/libfuse/example/hello_ll_uds.c:336,1
    - Dst: fuse_session_new
      Src: /src/libfuse/example/hello_ll_uds.c:341,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/example/hello_ll_uds.c:346,1
    - Dst: create_socket
      Src: /src/libfuse/example/hello_ll_uds.c:349,1
    - Dst: fuse_session_custom_io
      Src: /src/libfuse/example/hello_ll_uds.c:353,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/example/hello_ll_uds.c:357,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/example/hello_ll_uds.c:359,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/example/hello_ll_uds.c:361,1
    - Dst: free
      Src: /src/libfuse/example/hello_ll_uds.c:363,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/hello_ll_uds.c:364,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 367
    functionName: main
    functionSourceFile: /src/libfuse/example/hello_ll_uds.c
    functionUses: 3
    functionsReached:
    - fuse_session_new
    - fuse_session_destroy
    - fuse_remove_signal_handlers
    - fuse_session_custom_io
    - fuse_session_loop
    - fuse_opt_free_args
    - fuse_lowlevel_help
    - fuse_parse_cmdline
    - free
    - create_socket
    - fuse_lowlevel_version
    - fuse_cmdline_help_uds
    - fuse_pkgversion
    - fuse_set_signal_handlers
    - FUSE_ARGS_INIT
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libfuse/example/ioctl.c:55,1
    - Dst: memset
      Src: /src/libfuse/example/ioctl.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: fioc_resize
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - memset
    - realloc
    linkageType: ''
    returnType: int
    signature: int fioc_resize(size_t new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fioc_resize
      Src: /src/libfuse/example/ioctl.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: fioc_expand
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - fioc_resize
    linkageType: ''
    returnType: int
    signature: int fioc_expand(size_t new_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/ioctl.c:77,1
    - Dst: strcmp
      Src: /src/libfuse/example/ioctl.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: fioc_file_type
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int fioc_file_type(const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/libfuse/example/ioctl.c:88,1
    - Dst: getgid
      Src: /src/libfuse/example/ioctl.c:89,1
    - Dst: time
      Src: /src/libfuse/example/ioctl.c:90,1
    - Dst: fioc_file_type
      Src: /src/libfuse/example/ioctl.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: fioc_getattr
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - getuid
    - fioc_file_type
    - getgid
    - time
    linkageType: ''
    returnType: int
    signature: "int fioc_getattr(const char *path, struct stat *stbuf,\n\t\t\tstruct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fioc_file_type
      Src: /src/libfuse/example/ioctl.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: fioc_open
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - fioc_file_type
    linkageType: ''
    returnType: int
    signature: int fioc_open(const char *path, struct fuse_file_info *fi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libfuse/example/ioctl.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - size
    - offset
    argTypes:
    - char*
    - size_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: fioc_do_read
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int fioc_do_read(char *buf, size_t size, off_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fioc_file_type
      Src: /src/libfuse/example/ioctl.c:136,1
    - Dst: fioc_do_read
      Src: /src/libfuse/example/ioctl.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: fioc_read
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - fioc_file_type
    - fioc_do_read
    linkageType: ''
    returnType: int
    signature: "int fioc_read(const char *path, char *buf, size_t size,\n\t\t     off_t
      offset, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fioc_expand
      Src: /src/libfuse/example/ioctl.c:144,1
    - Dst: memcpy
      Src: /src/libfuse/example/ioctl.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - size
    - offset
    argTypes:
    - char*
    - size_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: fioc_do_write
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - fioc_expand
    linkageType: ''
    returnType: int
    signature: int fioc_do_write(const char *buf, size_t size, off_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fioc_file_type
      Src: /src/libfuse/example/ioctl.c:157,1
    - Dst: fioc_do_write
      Src: /src/libfuse/example/ioctl.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: fioc_write
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - fioc_file_type
    - fioc_do_write
    linkageType: ''
    returnType: int
    signature: "int fioc_write(const char *path, const char *buf, size_t size,\n\t\t
      \     off_t offset, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fioc_file_type
      Src: /src/libfuse/example/ioctl.c:167,1
    - Dst: fioc_resize
      Src: /src/libfuse/example/ioctl.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - path
    - size
    - fi
    argTypes:
    - char*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: fioc_truncate
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - fioc_file_type
    - fioc_resize
    linkageType: ''
    returnType: int
    signature: "int fioc_truncate(const char *path, off_t size,\n\t\t\t struct fuse_file_info
      *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fioc_file_type
      Src: /src/libfuse/example/ioctl.c:181,1
    - Dst: filler
      Src: /src/libfuse/example/ioctl.c:184,1
    - Dst: filler
      Src: /src/libfuse/example/ioctl.c:185,1
    - Dst: filler
      Src: /src/libfuse/example/ioctl.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - path
    - buf
    - filler
    - offset
    - fi
    - flags
    argTypes:
    - char*
    - void*
    - fuse_fill_dir_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: fioc_readdir
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - fioc_file_type
    - filler
    linkageType: ''
    returnType: int
    signature: "int fioc_readdir(const char *path, void *buf, fuse_fill_dir_t filler,\n\t\t\toff_t
      offset, struct fuse_file_info *fi,\n\t\t\tenum fuse_readdir_flags flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fioc_file_type
      Src: /src/libfuse/example/ioctl.c:198,1
    - Dst: fioc_resize
      Src: /src/libfuse/example/ioctl.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - path
    - cmd
    - arg
    - fi
    - flags
    - data
    argTypes:
    - char*
    - unsigned int
    - void*
    - struct fuse_file_info*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 215
    functionName: fioc_ioctl
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 0
    functionsReached:
    - fioc_file_type
    - fioc_resize
    linkageType: ''
    returnType: int
    signature: "int fioc_ioctl(const char *path, unsigned int cmd, void *arg,\n\t\t
      \     struct fuse_file_info *fi, unsigned int flags, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_main
      Src: /src/libfuse/example/ioctl.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: main
    functionSourceFile: /src/libfuse/example/ioctl.c
    functionUses: 4
    functionsReached:
    - fuse_main
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/example/passthrough_ll.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: passthrough_ll_help
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void passthrough_ll_help(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_req_userdata
      Src: /src/libfuse/example/passthrough_ll.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: lo_data
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_req_userdata
    linkageType: ''
    returnType: struct lo_data
    signature: struct lo_data *lo_data(fuse_req_t req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - req
    - ino
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: lo_inode
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_data
    linkageType: ''
    returnType: struct lo_inode
    signature: struct lo_inode *lo_inode(fuse_req_t req, fuse_ino_t ino)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lo_inode
      Src: /src/libfuse/example/passthrough_ll.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - ino
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: lo_fd
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_inode
    linkageType: ''
    returnType: int
    signature: int lo_fd(fuse_req_t req, fuse_ino_t ino)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - fuse_req_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: lo_debug
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_data
    linkageType: ''
    returnType: bool
    signature: bool lo_debug(fuse_req_t req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/passthrough_ll.c:171,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:173,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/passthrough_ll.c:177,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - userdata
    - conn
    argTypes:
    - void*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 185
    functionName: lo_init
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_log
    - fuse_set_feature_flag
    linkageType: ''
    returnType: void
    signature: "void lo_init(void *userdata,\n\t\t    struct fuse_conn_info *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/example/passthrough_ll.c:194,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_ll.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - userdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: lo_destroy
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - close
    - free
    linkageType: ''
    returnType: void
    signature: void lo_destroy(void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:204,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:205,1
    - Dst: fstatat
      Src: /src/libfuse/example/passthrough_ll.c:209,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:211,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/example/passthrough_ll.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 7
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: lo_getattr
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fstatat
    - lo_data
    - lo_fd
    - fuse_reply_err
    - fuse_reply_attr
    linkageType: ''
    returnType: void
    signature: "void lo_getattr(fuse_req_t req, fuse_ino_t ino,\n\t\t\t     struct
      fuse_file_info *fi)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: lo_inode
      Src: /src/libfuse/example/passthrough_ll.c:221,1
    - Dst: fchmod
      Src: /src/libfuse/example/passthrough_ll.c:227,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_ll.c:229,1
    - Dst: chmod
      Src: /src/libfuse/example/passthrough_ll.c:230,1
    - Dst: fchownat
      Src: /src/libfuse/example/passthrough_ll.c:241,1
    - Dst: ftruncate
      Src: /src/libfuse/example/passthrough_ll.c:248,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_ll.c:250,1
    - Dst: truncate
      Src: /src/libfuse/example/passthrough_ll.c:251,1
    - Dst: futimens
      Src: /src/libfuse/example/passthrough_ll.c:275,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_ll.c:277,1
    - Dst: utimensat
      Src: /src/libfuse/example/passthrough_ll.c:278,1
    - Dst: lo_getattr
      Src: /src/libfuse/example/passthrough_ll.c:284,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:288,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 5
    argNames:
    - req
    - ino
    - attr
    - valid
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct stat*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 216
    functionDepth: 8
    functionLinenumber: 216
    functionLinenumberEnd: 289
    functionName: lo_setattr
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - utimensat
    - truncate
    - lo_getattr
    - fchmod
    - lo_inode
    - sprintf
    - fchownat
    - chmod
    - fuse_reply_err
    - futimens
    - ftruncate
    linkageType: ''
    returnType: void
    signature: "void lo_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr,\n\t\t
      \      int valid, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/passthrough_ll.c:296,1
    - Dst: assert
      Src: /src/libfuse/example/passthrough_ll.c:299,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/passthrough_ll.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - lo
    - st
    argTypes:
    - struct lo_data*
    - struct stat*
    assertStmts:
    - condition: (p->refcount > 0)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/libfuse/example/passthrough_ll.c
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: lo_find
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - assert
    linkageType: ''
    returnType: struct lo_inode
    signature: struct lo_inode *lo_find(struct lo_data *lo, struct stat *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/example/passthrough_ll.c:315,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/passthrough_ll.c:324,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/passthrough_ll.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - fd
    - e
    - lo
    argTypes:
    - int
    - struct fuse_entry_param*
    - struct lo_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 333
    functionName: create_new_inode
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - calloc
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct lo_inode
    signature: struct lo_inode *create_new_inode(int fd, struct fuse_entry_param *e,
      struct lo_data* lo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:338,1
    - Dst: memset
      Src: /src/libfuse/example/passthrough_ll.c:340,1
    - Dst: fstatat
      Src: /src/libfuse/example/passthrough_ll.c:344,1
    - Dst: create_new_inode
      Src: /src/libfuse/example/passthrough_ll.c:348,1
    - Dst: dup
      Src: /src/libfuse/example/passthrough_ll.c:348,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:350,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - req
    - parent
    - fd
    - e
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - struct fuse_entry_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 356
    functionName: fill_entry_param_new_inode
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fstatat
    - dup
    - lo_data
    - memset
    - fuse_log
    - create_new_inode
    - lo_debug
    linkageType: ''
    returnType: int
    signature: int fill_entry_param_new_inode(fuse_req_t req, fuse_ino_t parent, int
      fd, struct fuse_entry_param *e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:364,1
    - Dst: memset
      Src: /src/libfuse/example/passthrough_ll.c:367,1
    - Dst: openat
      Src: /src/libfuse/example/passthrough_ll.c:371,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:371,1
    - Dst: fstatat
      Src: /src/libfuse/example/passthrough_ll.c:375,1
    - Dst: lo_find
      Src: /src/libfuse/example/passthrough_ll.c:379,1
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:379,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_ll.c:381,1
    - Dst: create_new_inode
      Src: /src/libfuse/example/passthrough_ll.c:384,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:390,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:391,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_ll.c:399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - req
    - parent
    - name
    - e
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - struct fuse_entry_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 401
    functionName: lo_do_lookup
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fstatat
    - lo_find
    - openat
    - lo_data
    - memset
    - fuse_log
    - create_new_inode
    - lo_fd
    - close
    - lo_debug
    linkageType: ''
    returnType: int
    signature: "int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t\t
      struct fuse_entry_param *e)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:408,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:409,1
    - Dst: lo_do_lookup
      Src: /src/libfuse/example/passthrough_ll.c:412,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:414,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/passthrough_ll.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 7
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: lo_lookup
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_do_lookup
    - fuse_log
    - fuse_reply_err
    - lo_debug
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: void lo_lookup(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lo_inode
      Src: /src/libfuse/example/passthrough_ll.c:425,1
    - Dst: mknod_wrapper
      Src: /src/libfuse/example/passthrough_ll.c:428,1
    - Dst: lo_do_lookup
      Src: /src/libfuse/example/passthrough_ll.c:434,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:438,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:439,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/passthrough_ll.c:442,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - req
    - parent
    - name
    - mode
    - rdev
    - link
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    - dev_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 419
    functionDepth: 7
    functionLinenumber: 419
    functionLinenumberEnd: 447
    functionName: lo_mknod_symlink
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_do_lookup
    - mknod_wrapper
    - lo_inode
    - fuse_log
    - fuse_reply_err
    - lo_debug
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: "void lo_mknod_symlink(fuse_req_t req, fuse_ino_t parent,\n\t\t\t     const
      char *name, mode_t mode, dev_t rdev,\n\t\t\t     const char *link)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lo_mknod_symlink
      Src: /src/libfuse/example/passthrough_ll.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - req
    - parent
    - name
    - mode
    - rdev
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    - dev_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 8
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: lo_mknod
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_mknod_symlink
    linkageType: ''
    returnType: void
    signature: "void lo_mknod(fuse_req_t req, fuse_ino_t parent,\n\t\t     const char
      *name, mode_t mode, dev_t rdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lo_mknod_symlink
      Src: /src/libfuse/example/passthrough_ll.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - req
    - parent
    - name
    - mode
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 8
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: lo_mkdir
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_mknod_symlink
    linkageType: ''
    returnType: void
    signature: "void lo_mkdir(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t
      \    mode_t mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lo_mknod_symlink
      Src: /src/libfuse/example/passthrough_ll.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - req
    - link
    - parent
    - name
    argTypes:
    - fuse_req_t
    - char*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 8
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: lo_symlink
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_mknod_symlink
    linkageType: ''
    returnType: void
    signature: "void lo_symlink(fuse_req_t req, const char *link,\n\t\t       fuse_ino_t
      parent, const char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:471,1
    - Dst: lo_inode
      Src: /src/libfuse/example/passthrough_ll.c:472,1
    - Dst: memset
      Src: /src/libfuse/example/passthrough_ll.c:477,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_ll.c:481,1
    - Dst: linkat
      Src: /src/libfuse/example/passthrough_ll.c:482,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:482,1
    - Dst: fstatat
      Src: /src/libfuse/example/passthrough_ll.c:487,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/passthrough_ll.c:491,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/passthrough_ll.c:493,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:496,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:497,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/passthrough_ll.c:501,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - req
    - ino
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 467
    functionDepth: 7
    functionLinenumber: 467
    functionLinenumberEnd: 507
    functionName: lo_link
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fstatat
    - pthread_mutex_lock
    - lo_data
    - lo_inode
    - sprintf
    - memset
    - pthread_mutex_unlock
    - fuse_reply_entry
    - fuse_log
    - lo_fd
    - fuse_reply_err
    - lo_debug
    - linkat
    linkageType: ''
    returnType: void
    signature: "void lo_link(fuse_req_t req, fuse_ino_t ino, fuse_ino_t parent,\n\t\t
      \   const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlinkat
      Src: /src/libfuse/example/passthrough_ll.c:513,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:513,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 6
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: lo_rmdir
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - unlinkat
    - lo_fd
    linkageType: ''
    returnType: void
    signature: void lo_rmdir(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:525,1
    - Dst: renameat
      Src: /src/libfuse/example/passthrough_ll.c:529,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:529,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:530,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - req
    - parent
    - name
    - newparent
    - newname
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - fuse_ino_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 518
    functionDepth: 6
    functionLinenumber: 518
    functionLinenumberEnd: 533
    functionName: lo_rename
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - renameat
    - lo_fd
    linkageType: ''
    returnType: void
    signature: "void lo_rename(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t
      \     fuse_ino_t newparent, const char *newname,\n\t\t      unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlinkat
      Src: /src/libfuse/example/passthrough_ll.c:539,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:539,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 6
    functionLinenumber: 535
    functionLinenumberEnd: 542
    functionName: lo_unlink
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - unlinkat
    - lo_fd
    linkageType: ''
    returnType: void
    signature: void lo_unlink(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/passthrough_ll.c:549,1
    - Dst: assert
      Src: /src/libfuse/example/passthrough_ll.c:550,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/passthrough_ll.c:560,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_ll.c:561,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_ll.c:562,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/passthrough_ll.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - lo
    - inode
    - n
    argTypes:
    - struct lo_data*
    - struct lo_inode*
    - uint64_t
    assertStmts:
    - condition: (inode->refcount >= n)
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/libfuse/example/passthrough_ll.c
    constantsTouched: []
    func_position:
      end: 567
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 567
    functionName: unref_inode
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - assert
    - pthread_mutex_unlock
    - free
    - close
    linkageType: ''
    returnType: void
    signature: void unref_inode(struct lo_data *lo, struct lo_inode *inode, uint64_t
      n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:571,1
    - Dst: lo_inode
      Src: /src/libfuse/example/passthrough_ll.c:572,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:574,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:575,1
    - Dst: unref_inode
      Src: /src/libfuse/example/passthrough_ll.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - req
    - ino
    - nlookup
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: lo_forget_one
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - unref_inode
    - lo_data
    - lo_inode
    - fuse_log
    - lo_debug
    linkageType: ''
    returnType: void
    signature: void lo_forget_one(fuse_req_t req, fuse_ino_t ino, uint64_t nlookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lo_forget_one
      Src: /src/libfuse/example/passthrough_ll.c:586,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/example/passthrough_ll.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - ino
    - nlookup
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 588
    functionName: lo_forget
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_forget_one
    - fuse_reply_none
    linkageType: ''
    returnType: void
    signature: void lo_forget(fuse_req_t req, fuse_ino_t ino, uint64_t nlookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lo_forget_one
      Src: /src/libfuse/example/passthrough_ll.c:596,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/example/passthrough_ll.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - req
    - count
    - forgets
    argTypes:
    - fuse_req_t
    - size_t
    - struct fuse_forget_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 590
    functionDepth: 4
    functionLinenumber: 590
    functionLinenumberEnd: 598
    functionName: lo_forget_multi
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_forget_one
    - fuse_reply_none
    linkageType: ''
    returnType: void
    signature: "void lo_forget_multi(fuse_req_t req, size_t count,\n\t\t\t\tstruct
      fuse_forget_data *forgets)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readlinkat
      Src: /src/libfuse/example/passthrough_ll.c:605,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:605,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:607,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:610,1
    - Dst: fuse_reply_readlink
      Src: /src/libfuse/example/passthrough_ll.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - req
    - ino
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 600
    functionDepth: 7
    functionLinenumber: 600
    functionLinenumberEnd: 615
    functionName: lo_readlink
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_reply_readlink
    - lo_fd
    - readlinkat
    linkageType: ''
    returnType: void
    signature: void lo_readlink(fuse_req_t req, fuse_ino_t ino)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fi
    argTypes:
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: lo_dirp
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct lo_dirp
    signature: struct lo_dirp *lo_dirp(struct fuse_file_info *fi)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:631,1
    - Dst: calloc
      Src: /src/libfuse/example/passthrough_ll.c:635,1
    - Dst: openat
      Src: /src/libfuse/example/passthrough_ll.c:639,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:639,1
    - Dst: fdopendir
      Src: /src/libfuse/example/passthrough_ll.c:643,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/passthrough_ll.c:655,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_ll.c:663,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_ll.c:664,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:666,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 628
    functionDepth: 7
    functionLinenumber: 628
    functionLinenumberEnd: 667
    functionName: lo_opendir
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_open
    - openat
    - lo_data
    - fdopendir
    - calloc
    - free
    - lo_fd
    - fuse_reply_err
    - close
    linkageType: ''
    returnType: void
    signature: void lo_opendir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info
      *fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 673
    functionName: is_dot_or_dotdot
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_dot_or_dotdot(const char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lo_dirp
      Src: /src/libfuse/example/passthrough_ll.c:678,1
    - Dst: calloc
      Src: /src/libfuse/example/passthrough_ll.c:686,1
    - Dst: seekdir
      Src: /src/libfuse/example/passthrough_ll.c:694,1
    - Dst: readdir
      Src: /src/libfuse/example/passthrough_ll.c:705,1
    - Dst: is_dot_or_dotdot
      Src: /src/libfuse/example/passthrough_ll.c:720,1
    - Dst: lo_do_lookup
      Src: /src/libfuse/example/passthrough_ll.c:726,1
    - Dst: fuse_add_direntry_plus
      Src: /src/libfuse/example/passthrough_ll.c:732,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/passthrough_ll.c:739,1
    - Dst: lo_forget_one
      Src: /src/libfuse/example/passthrough_ll.c:744,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:762,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/passthrough_ll.c:764,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_ll.c:765,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 6
    argNames:
    - req
    - ino
    - size
    - offset
    - fi
    - plus
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 675
    functionDepth: 7
    functionLinenumber: 675
    functionLinenumberEnd: 766
    functionName: lo_do_readdir
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - readdir
    - lo_do_lookup
    - fuse_add_direntry_plus
    - fuse_add_direntry
    - is_dot_or_dotdot
    - fuse_reply_buf
    - lo_forget_one
    - seekdir
    - calloc
    - free
    - lo_dirp
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void lo_do_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t
      \ off_t offset, struct fuse_file_info *fi, int plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lo_do_readdir
      Src: /src/libfuse/example/passthrough_ll.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - offset
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 8
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: lo_readdir
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_do_readdir
    linkageType: ''
    returnType: void
    signature: "void lo_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t
      \      off_t offset, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lo_do_readdir
      Src: /src/libfuse/example/passthrough_ll.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - offset
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 8
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: lo_readdirplus
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_do_readdir
    linkageType: ''
    returnType: void
    signature: "void lo_readdirplus(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t
      \  off_t offset, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lo_dirp
      Src: /src/libfuse/example/passthrough_ll.c:782,1
    - Dst: closedir
      Src: /src/libfuse/example/passthrough_ll.c:784,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_ll.c:785,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 780
    functionDepth: 6
    functionLinenumber: 780
    functionLinenumberEnd: 787
    functionName: lo_releasedir
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - free
    - closedir
    - lo_dirp
    linkageType: ''
    returnType: void
    signature: void lo_releasedir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info
      *fi)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:793,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:797,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:798,1
    - Dst: openat
      Src: /src/libfuse/example/passthrough_ll.c:801,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:801,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:804,1
    - Dst: fill_entry_param_new_inode
      Src: /src/libfuse/example/passthrough_ll.c:817,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:819,1
    - Dst: fuse_reply_create
      Src: /src/libfuse/example/passthrough_ll.c:821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - req
    - parent
    - mode
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 789
    functionDepth: 7
    functionLinenumber: 789
    functionLinenumberEnd: 822
    functionName: lo_tmpfile
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fill_entry_param_new_inode
    - openat
    - fuse_reply_create
    - lo_data
    - fuse_log
    - lo_fd
    - fuse_reply_err
    - lo_debug
    linkageType: ''
    returnType: void
    signature: "void lo_tmpfile(fuse_req_t req, fuse_ino_t parent,\n\t\t      mode_t
      mode, struct fuse_file_info *fi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:828,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:832,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:833,1
    - Dst: openat
      Src: /src/libfuse/example/passthrough_ll.c:836,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:836,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:839,1
    - Dst: lo_do_lookup
      Src: /src/libfuse/example/passthrough_ll.c:852,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:854,1
    - Dst: fuse_reply_create
      Src: /src/libfuse/example/passthrough_ll.c:856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - req
    - parent
    - name
    - mode
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 824
    functionDepth: 7
    functionLinenumber: 824
    functionLinenumberEnd: 857
    functionName: lo_create
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_do_lookup
    - openat
    - fuse_reply_create
    - lo_data
    - fuse_log
    - lo_fd
    - fuse_reply_err
    - lo_debug
    linkageType: ''
    returnType: void
    signature: "void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t\t\t\t\t
      \     mode_t mode, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dirfd
      Src: /src/libfuse/example/passthrough_ll.c:863,1
    - Dst: lo_dirp
      Src: /src/libfuse/example/passthrough_ll.c:863,1
    - Dst: fdatasync
      Src: /src/libfuse/example/passthrough_ll.c:866,1
    - Dst: fsync
      Src: /src/libfuse/example/passthrough_ll.c:868,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - req
    - ino
    - datasync
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 859
    functionDepth: 6
    functionLinenumber: 859
    functionLinenumberEnd: 870
    functionName: lo_fsyncdir
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - dirfd
    - fdatasync
    - lo_dirp
    - fuse_reply_err
    - fsync
    linkageType: ''
    returnType: void
    signature: "void lo_fsyncdir(fuse_req_t req, fuse_ino_t ino, int datasync,\n\t\t\tstruct
      fuse_file_info *fi)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:876,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:878,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:879,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_ll.c:898,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:898,1
    - Dst: open
      Src: /src/libfuse/example/passthrough_ll.c:899,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:901,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/passthrough_ll.c:920,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 872
    functionDepth: 7
    functionLinenumber: 872
    functionLinenumberEnd: 921
    functionName: lo_open
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_open
    - lo_data
    - open
    - sprintf
    - fuse_log
    - lo_fd
    - fuse_reply_err
    - lo_debug
    linkageType: ''
    returnType: void
    signature: void lo_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info
      *fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/example/passthrough_ll.c:927,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 923
    functionDepth: 6
    functionLinenumber: 923
    functionLinenumberEnd: 929
    functionName: lo_release
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - close
    linkageType: ''
    returnType: void
    signature: void lo_release(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info
      *fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/example/passthrough_ll.c:935,1
    - Dst: dup
      Src: /src/libfuse/example/passthrough_ll.c:935,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 931
    functionDepth: 6
    functionLinenumber: 931
    functionLinenumberEnd: 937
    functionName: lo_flush
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - close
    - dup
    linkageType: ''
    returnType: void
    signature: void lo_flush(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info
      *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdatasync
      Src: /src/libfuse/example/passthrough_ll.c:945,1
    - Dst: fsync
      Src: /src/libfuse/example/passthrough_ll.c:947,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - req
    - ino
    - datasync
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 939
    functionDepth: 6
    functionLinenumber: 939
    functionLinenumberEnd: 949
    functionName: lo_fsync
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fdatasync
    - fuse_reply_err
    - fsync
    linkageType: ''
    returnType: void
    signature: "void lo_fsync(fuse_req_t req, fuse_ino_t ino, int datasync,\n\t\t
      \    struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/example/passthrough_ll.c:954,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:956,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:957,1
    - Dst: fuse_reply_data
      Src: /src/libfuse/example/passthrough_ll.c:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - offset
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 951
    functionDepth: 7
    functionLinenumber: 951
    functionLinenumberEnd: 965
    functionName: lo_read
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_data
    - lo_debug
    - fuse_log
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: void
    signature: "void lo_read(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t    off_t
      offset, struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/example/passthrough_ll.c:973,1
    - Dst: fuse_buf_size
      Src: /src/libfuse/example/passthrough_ll.c:973,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:979,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:980,1
    - Dst: fuse_buf_copy
      Src: /src/libfuse/example/passthrough_ll.c:983,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:985,1
    - Dst: fuse_reply_write
      Src: /src/libfuse/example/passthrough_ll.c:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - req
    - ino
    - in_buf
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_bufvec*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 967
    functionDepth: 8
    functionLinenumber: 967
    functionLinenumberEnd: 988
    functionName: lo_write_buf
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_write
    - fuse_buf_copy
    - fuse_log
    - fuse_buf_size
    - fuse_reply_err
    - lo_debug
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: void
    signature: "void lo_write_buf(fuse_req_t req, fuse_ino_t ino,\n\t\t\t struct fuse_bufvec
      *in_buf, off_t off,\n\t\t\t struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstatvfs
      Src: /src/libfuse/example/passthrough_ll.c:995,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:995,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:997,1
    - Dst: fuse_reply_statfs
      Src: /src/libfuse/example/passthrough_ll.c:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - req
    - ino
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 990
    functionDepth: 7
    functionLinenumber: 990
    functionLinenumberEnd: 1000
    functionName: lo_statfs
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fstatvfs
    - fuse_reply_statfs
    - lo_fd
    linkageType: ''
    returnType: void
    signature: void lo_statfs(fuse_req_t req, fuse_ino_t ino)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fallocate
      Src: /src/libfuse/example/passthrough_ll.c:1008,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - req
    - ino
    - mode
    - offset
    - length
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - off_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1002
    functionDepth: 6
    functionLinenumber: 1002
    functionLinenumberEnd: 1011
    functionName: lo_fallocate
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - do_fallocate
    linkageType: ''
    returnType: void
    signature: "void lo_fallocate(fuse_req_t req, fuse_ino_t ino, int mode,\n\t\t\t
      off_t offset, off_t length, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flock
      Src: /src/libfuse/example/passthrough_ll.c:1019,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - req
    - ino
    - fi
    - op
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1013
    functionDepth: 6
    functionLinenumber: 1013
    functionLinenumberEnd: 1022
    functionName: lo_flock
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - flock
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void lo_flock(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info
      *fi,\n\t\t     int op)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lo_inode
      Src: /src/libfuse/example/passthrough_ll.c:1029,1
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:1034,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:1037,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:1038,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_ll.c:1042,1
    - Dst: malloc
      Src: /src/libfuse/example/passthrough_ll.c:1045,1
    - Dst: getxattr
      Src: /src/libfuse/example/passthrough_ll.c:1049,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/passthrough_ll.c:1056,1
    - Dst: getxattr
      Src: /src/libfuse/example/passthrough_ll.c:1058,1
    - Dst: fuse_reply_xattr
      Src: /src/libfuse/example/passthrough_ll.c:1062,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_ll.c:1065,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:1071,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - req
    - ino
    - name
    - size
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1024
    functionDepth: 7
    functionLinenumber: 1024
    functionLinenumberEnd: 1073
    functionName: lo_getxattr
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - malloc
    - getxattr
    - lo_data
    - lo_inode
    - fuse_reply_buf
    - sprintf
    - fuse_log
    - free
    - fuse_reply_err
    - lo_debug
    - fuse_reply_xattr
    linkageType: ''
    returnType: void
    signature: "void lo_getxattr(fuse_req_t req, fuse_ino_t ino, const char *name,\n\t\t\tsize_t
      size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lo_inode
      Src: /src/libfuse/example/passthrough_ll.c:1079,1
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:1084,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:1087,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:1088,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_ll.c:1092,1
    - Dst: malloc
      Src: /src/libfuse/example/passthrough_ll.c:1095,1
    - Dst: listxattr
      Src: /src/libfuse/example/passthrough_ll.c:1099,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/passthrough_ll.c:1106,1
    - Dst: listxattr
      Src: /src/libfuse/example/passthrough_ll.c:1108,1
    - Dst: fuse_reply_xattr
      Src: /src/libfuse/example/passthrough_ll.c:1112,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_ll.c:1115,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:1121,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - req
    - ino
    - size
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1075
    functionDepth: 7
    functionLinenumber: 1075
    functionLinenumberEnd: 1123
    functionName: lo_listxattr
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - malloc
    - lo_data
    - lo_inode
    - fuse_reply_buf
    - sprintf
    - fuse_log
    - listxattr
    - free
    - fuse_reply_err
    - lo_debug
    - fuse_reply_xattr
    linkageType: ''
    returnType: void
    signature: void lo_listxattr(fuse_req_t req, fuse_ino_t ino, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lo_inode
      Src: /src/libfuse/example/passthrough_ll.c:1129,1
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:1134,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:1137,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:1138,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_ll.c:1142,1
    - Dst: setxattr
      Src: /src/libfuse/example/passthrough_ll.c:1144,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:1148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - req
    - ino
    - name
    - value
    - size
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1125
    functionDepth: 6
    functionLinenumber: 1125
    functionLinenumberEnd: 1149
    functionName: lo_setxattr
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - setxattr
    - lo_data
    - lo_inode
    - sprintf
    - fuse_log
    - fuse_reply_err
    - lo_debug
    linkageType: ''
    returnType: void
    signature: "void lo_setxattr(fuse_req_t req, fuse_ino_t ino, const char *name,\n\t\t\tconst
      char *value, size_t size, int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lo_inode
      Src: /src/libfuse/example/passthrough_ll.c:1154,1
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:1159,1
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:1162,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:1163,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_ll.c:1167,1
    - Dst: removexattr
      Src: /src/libfuse/example/passthrough_ll.c:1169,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - req
    - ino
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1151
    functionDepth: 6
    functionLinenumber: 1151
    functionLinenumberEnd: 1174
    functionName: lo_removexattr
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - lo_data
    - lo_inode
    - sprintf
    - fuse_log
    - removexattr
    - fuse_reply_err
    - lo_debug
    linkageType: ''
    returnType: void
    signature: void lo_removexattr(fuse_req_t req, fuse_ino_t ino, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lo_debug
      Src: /src/libfuse/example/passthrough_ll.c:1185,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:1186,1
    - Dst: copy_file_range
      Src: /src/libfuse/example/passthrough_ll.c:1194,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:1197,1
    - Dst: fuse_reply_write
      Src: /src/libfuse/example/passthrough_ll.c:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 9
    argNames:
    - req
    - ino_in
    - off_in
    - fi_in
    - ino_out
    - off_out
    - fi_out
    - len
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - off_t
    - struct fuse_file_info*
    - fuse_ino_t
    - off_t
    - struct fuse_file_info*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1177
    functionDepth: 8
    functionLinenumber: 1177
    functionLinenumberEnd: 1200
    functionName: lo_copy_file_range
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - copy_file_range
    - fuse_reply_write
    - fuse_log
    - fuse_reply_err
    - lo_debug
    linkageType: ''
    returnType: void
    signature: "void lo_copy_file_range(fuse_req_t req, fuse_ino_t ino_in, off_t off_in,\n\t\t\t
      \      struct fuse_file_info *fi_in,\n\t\t\t       fuse_ino_t ino_out, off_t
      off_out,\n\t\t\t       struct fuse_file_info *fi_out, size_t len,\n\t\t\t       int
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/libfuse/example/passthrough_ll.c:1209,1
    - Dst: fuse_reply_lseek
      Src: /src/libfuse/example/passthrough_ll.c:1211,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:1213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - req
    - ino
    - 'off'
    - whence
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - off_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1203
    functionDepth: 7
    functionLinenumber: 1203
    functionLinenumberEnd: 1214
    functionName: lo_lseek
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - lseek
    - fuse_reply_lseek
    linkageType: ''
    returnType: void
    signature: "void lo_lseek(fuse_req_t req, fuse_ino_t ino, off_t off, int whence,\n\t\t
      \    struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lo_data
      Src: /src/libfuse/example/passthrough_ll.c:1220,1
    - Dst: lo_fd
      Src: /src/libfuse/example/passthrough_ll.c:1228,1
    - Dst: statx
      Src: /src/libfuse/example/passthrough_ll.c:1230,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_ll.c:1232,1
    - Dst: fuse_reply_statx
      Src: /src/libfuse/example/passthrough_ll.c:1234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - req
    - ino
    - flags
    - mask
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1217
    functionDepth: 7
    functionLinenumber: 1217
    functionLinenumberEnd: 1235
    functionName: lo_statx
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_statx
    - lo_data
    - lo_fd
    - statx
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void lo_statx(fuse_req_t req, fuse_ino_t ino, int flags, int mask,\n\t\t
      \    struct fuse_file_info *fi)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/passthrough_ll.c:1285,1
    - Dst: umask
      Src: /src/libfuse/example/passthrough_ll.c:1294,1
    - Dst: pthread_mutex_init
      Src: /src/libfuse/example/passthrough_ll.c:1296,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/example/passthrough_ll.c:1301,1
    - Dst: printf
      Src: /src/libfuse/example/passthrough_ll.c:1304,1
    - Dst: fuse_cmdline_help
      Src: /src/libfuse/example/passthrough_ll.c:1305,1
    - Dst: fuse_lowlevel_help
      Src: /src/libfuse/example/passthrough_ll.c:1306,1
    - Dst: passthrough_ll_help
      Src: /src/libfuse/example/passthrough_ll.c:1307,1
    - Dst: printf
      Src: /src/libfuse/example/passthrough_ll.c:1311,1
    - Dst: fuse_pkgversion
      Src: /src/libfuse/example/passthrough_ll.c:1311,1
    - Dst: fuse_lowlevel_version
      Src: /src/libfuse/example/passthrough_ll.c:1312,1
    - Dst: printf
      Src: /src/libfuse/example/passthrough_ll.c:1318,1
    - Dst: printf
      Src: /src/libfuse/example/passthrough_ll.c:1319,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/example/passthrough_ll.c:1324,1
    - Dst: lstat
      Src: /src/libfuse/example/passthrough_ll.c:1333,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:1335,1
    - Dst: exit
      Src: /src/libfuse/example/passthrough_ll.c:1337,1
    - Dst: S_ISDIR
      Src: /src/libfuse/example/passthrough_ll.c:1339,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:1340,1
    - Dst: exit
      Src: /src/libfuse/example/passthrough_ll.c:1341,1
    - Dst: strdup
      Src: /src/libfuse/example/passthrough_ll.c:1345,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:1347,1
    - Dst: exit
      Src: /src/libfuse/example/passthrough_ll.c:1348,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:1366,1
    - Dst: exit
      Src: /src/libfuse/example/passthrough_ll.c:1368,1
    - Dst: open
      Src: /src/libfuse/example/passthrough_ll.c:1371,1
    - Dst: fuse_log
      Src: /src/libfuse/example/passthrough_ll.c:1373,1
    - Dst: exit
      Src: /src/libfuse/example/passthrough_ll.c:1375,1
    - Dst: fuse_session_new
      Src: /src/libfuse/example/passthrough_ll.c:1378,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/example/passthrough_ll.c:1382,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/example/passthrough_ll.c:1385,1
    - Dst: fuse_daemonize
      Src: /src/libfuse/example/passthrough_ll.c:1388,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/example/passthrough_ll.c:1392,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/example/passthrough_ll.c:1394,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/example/passthrough_ll.c:1395,1
    - Dst: fuse_loop_cfg_set_max_threads
      Src: /src/libfuse/example/passthrough_ll.c:1396,1
    - Dst: fuse_session_loop_mt
      Src: /src/libfuse/example/passthrough_ll.c:1397,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/example/passthrough_ll.c:1398,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/example/passthrough_ll.c:1402,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/example/passthrough_ll.c:1404,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/example/passthrough_ll.c:1406,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_ll.c:1408,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/passthrough_ll.c:1409,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_ll.c:1412,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_ll.c:1414,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 109
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1283
    functionDepth: 13
    functionLinenumber: 1283
    functionLinenumberEnd: 1416
    functionName: main
    functionSourceFile: /src/libfuse/example/passthrough_ll.c
    functionUses: 4
    functionsReached:
    - fuse_session_unmount
    - S_ISDIR
    - fuse_daemonize
    - fuse_lowlevel_help
    - fuse_session_mount
    - close
    - FUSE_ARGS_INIT
    - lstat
    - passthrough_ll_help
    - open
    - fuse_session_loop
    - fuse_opt_free_args
    - fuse_parse_cmdline
    - fuse_lowlevel_version
    - fuse_session_destroy
    - fuse_set_signal_handlers
    - exit
    - strdup
    - fuse_session_new
    - fuse_loop_cfg_destroy
    - fuse_remove_signal_handlers
    - fuse_opt_parse
    - fuse_loop_cfg_set_max_threads
    - fuse_loop_cfg_set_clone_fd
    - umask
    - fuse_cmdline_help
    - fuse_log
    - free
    - fuse_session_loop_mt
    - pthread_mutex_init
    - fuse_pkgversion
    - fuse_loop_cfg_create
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - cfg
    argTypes:
    - struct fuse_conn_info*
    - struct fuse_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: xmp_init
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *xmp_init(struct fuse_conn_info *conn,\n\t\t      struct fuse_config
      *cfg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/libfuse/example/passthrough_fh.c:88,1
    - Dst: lstat
      Src: /src/libfuse/example/passthrough_fh.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: xmp_getattr
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - fstat
    - lstat
    linkageType: ''
    returnType: int
    signature: "int xmp_getattr(const char *path, struct stat *stbuf,\n\t\t\tstruct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/libfuse/example/passthrough_fh.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - mask
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: xmp_access
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - access
    linkageType: ''
    returnType: int
    signature: int xmp_access(const char *path, int mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readlink
      Src: /src/libfuse/example/passthrough_fh.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - buf
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: xmp_readlink
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - readlink
    linkageType: ''
    returnType: int
    signature: int xmp_readlink(const char *path, char *buf, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/example/passthrough_fh.c:129,1
    - Dst: opendir
      Src: /src/libfuse/example/passthrough_fh.c:133,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_fh.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: xmp_opendir
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - opendir
    linkageType: ''
    returnType: int
    signature: int xmp_opendir(const char *path, struct fuse_file_info *fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fi
    argTypes:
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: get_dirp
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct xmp_dirp
    signature: struct xmp_dirp *get_dirp(struct fuse_file_info *fi)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_dirp
      Src: /src/libfuse/example/passthrough_fh.c:155,1
    - Dst: seekdir
      Src: /src/libfuse/example/passthrough_fh.c:160,1
    - Dst: seekdir
      Src: /src/libfuse/example/passthrough_fh.c:164,1
    - Dst: readdir
      Src: /src/libfuse/example/passthrough_fh.c:175,1
    - Dst: fstatat
      Src: /src/libfuse/example/passthrough_fh.c:183,1
    - Dst: dirfd
      Src: /src/libfuse/example/passthrough_fh.c:183,1
    - Dst: memset
      Src: /src/libfuse/example/passthrough_fh.c:190,1
    - Dst: telldir
      Src: /src/libfuse/example/passthrough_fh.c:194,1
    - Dst: filler
      Src: /src/libfuse/example/passthrough_fh.c:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - path
    - buf
    - filler
    - offset
    - fi
    - flags
    argTypes:
    - char*
    - void*
    - fuse_fill_dir_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 210
    functionName: xmp_readdir
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - readdir
    - dirfd
    - fstatat
    - get_dirp
    - filler
    - telldir
    - memset
    - seekdir
    linkageType: ''
    returnType: int
    signature: "int xmp_readdir(const char *path, void *buf, fuse_fill_dir_t filler,\n\t\t
      \      off_t offset, struct fuse_file_info *fi,\n\t\t       enum fuse_readdir_flags
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dirp
      Src: /src/libfuse/example/passthrough_fh.c:214,1
    - Dst: closedir
      Src: /src/libfuse/example/passthrough_fh.c:216,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_fh.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: xmp_releasedir
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - free
    - get_dirp
    - closedir
    linkageType: ''
    returnType: int
    signature: int xmp_releasedir(const char *path, struct fuse_file_info *fi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: S_ISFIFO
      Src: /src/libfuse/example/passthrough_fh.c:225,1
    - Dst: mkfifo
      Src: /src/libfuse/example/passthrough_fh.c:226,1
    - Dst: mknod
      Src: /src/libfuse/example/passthrough_fh.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - path
    - mode
    - rdev
    argTypes:
    - char*
    - mode_t
    - dev_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: xmp_mknod
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - S_ISFIFO
    - mkfifo
    - mknod
    linkageType: ''
    returnType: int
    signature: int xmp_mknod(const char *path, mode_t mode, dev_t rdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkdir
      Src: /src/libfuse/example/passthrough_fh.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: xmp_mkdir
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - mkdir
    linkageType: ''
    returnType: int
    signature: int xmp_mkdir(const char *path, mode_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/libfuse/example/passthrough_fh.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: xmp_unlink
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int xmp_unlink(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmdir
      Src: /src/libfuse/example/passthrough_fh.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: xmp_rmdir
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - rmdir
    linkageType: ''
    returnType: int
    signature: int xmp_rmdir(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: symlink
      Src: /src/libfuse/example/passthrough_fh.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: xmp_symlink
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - symlink
    linkageType: ''
    returnType: int
    signature: int xmp_symlink(const char *from, const char *to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/libfuse/example/passthrough_fh.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - from
    - to
    - flags
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: xmp_rename
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - rename
    linkageType: ''
    returnType: int
    signature: int xmp_rename(const char *from, const char *to, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: link
      Src: /src/libfuse/example/passthrough_fh.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: xmp_link
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - link
    linkageType: ''
    returnType: int
    signature: int xmp_link(const char *from, const char *to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fchmod
      Src: /src/libfuse/example/passthrough_fh.c:311,1
    - Dst: chmod
      Src: /src/libfuse/example/passthrough_fh.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - path
    - mode
    - fi
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 318
    functionName: xmp_chmod
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - fchmod
    - chmod
    linkageType: ''
    returnType: int
    signature: "int xmp_chmod(const char *path, mode_t mode,\n\t\t     struct fuse_file_info
      *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fchown
      Src: /src/libfuse/example/passthrough_fh.c:326,1
    - Dst: lchown
      Src: /src/libfuse/example/passthrough_fh.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - path
    - uid
    - gid
    - fi
    argTypes:
    - char*
    - uid_t
    - gid_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: xmp_chown
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - lchown
    - fchown
    linkageType: ''
    returnType: int
    signature: "int xmp_chown(const char *path, uid_t uid, gid_t gid,\n\t\t     struct
      fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ftruncate
      Src: /src/libfuse/example/passthrough_fh.c:341,1
    - Dst: truncate
      Src: /src/libfuse/example/passthrough_fh.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - path
    - size
    - fi
    argTypes:
    - char*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 349
    functionName: xmp_truncate
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - truncate
    - ftruncate
    linkageType: ''
    returnType: int
    signature: "int xmp_truncate(const char *path, off_t size,\n\t\t\t struct fuse_file_info
      *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: futimens
      Src: /src/libfuse/example/passthrough_fh.c:359,1
    - Dst: utimensat
      Src: /src/libfuse/example/passthrough_fh.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - path
    - ts
    - fi
    argTypes:
    - char*
    - struct timespec[]
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 366
    functionName: xmp_utimens
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - futimens
    - utimensat
    linkageType: ''
    returnType: int
    signature: "int xmp_utimens(const char *path, const struct timespec ts[2],\n\t\t
      \      struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/passthrough_fh.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - mode
    - fi
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: xmp_create
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int xmp_create(const char *path, mode_t mode, struct fuse_file_info
      *fi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/passthrough_fh.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 399
    functionName: xmp_open
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int xmp_open(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/libfuse/example/passthrough_fh.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: xmp_read
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - pread
    linkageType: ''
    returnType: int
    signature: "int xmp_read(const char *path, char *buf, size_t size, off_t offset,\n\t\t
      \   struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/example/passthrough_fh.c:421,1
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/example/passthrough_fh.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - path
    - bufp
    - size
    - offset
    - fi
    argTypes:
    - char*
    - struct fuse_bufvec**
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 434
    functionName: xmp_read_buf
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - malloc
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: int
    signature: "int xmp_read_buf(const char *path, struct fuse_bufvec **bufp,\n\t\t\tsize_t
      size, off_t offset, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pwrite
      Src: /src/libfuse/example/passthrough_fh.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 447
    functionName: xmp_write
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - pwrite
    linkageType: ''
    returnType: int
    signature: "int xmp_write(const char *path, const char *buf, size_t size,\n\t\t
      \    off_t offset, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/example/passthrough_fh.c:452,1
    - Dst: fuse_buf_size
      Src: /src/libfuse/example/passthrough_fh.c:452,1
    - Dst: fuse_buf_copy
      Src: /src/libfuse/example/passthrough_fh.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - path
    - buf
    - offset
    - fi
    argTypes:
    - char*
    - struct fuse_bufvec*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 449
    functionDepth: 5
    functionLinenumber: 449
    functionLinenumberEnd: 461
    functionName: xmp_write_buf
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - fuse_buf_size
    - fuse_buf_copy
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: int
    signature: "int xmp_write_buf(const char *path, struct fuse_bufvec *buf,\n\t\t
      \    off_t offset, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: statvfs
      Src: /src/libfuse/example/passthrough_fh.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - stbuf
    argTypes:
    - char*
    - struct statvfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: xmp_statfs
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - statvfs
    linkageType: ''
    returnType: int
    signature: int xmp_statfs(const char *path, struct statvfs *stbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/example/passthrough_fh.c:484,1
    - Dst: dup
      Src: /src/libfuse/example/passthrough_fh.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 489
    functionName: xmp_flush
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - close
    - dup
    linkageType: ''
    returnType: int
    signature: int xmp_flush(const char *path, struct fuse_file_info *fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/example/passthrough_fh.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: xmp_release
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int xmp_release(const char *path, struct fuse_file_info *fi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fdatasync
      Src: /src/libfuse/example/passthrough_fh.c:509,1
    - Dst: fsync
      Src: /src/libfuse/example/passthrough_fh.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - path
    - isdatasync
    - fi
    argTypes:
    - char*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 517
    functionName: xmp_fsync
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - fdatasync
    - fsync
    linkageType: ''
    returnType: int
    signature: "int xmp_fsync(const char *path, int isdatasync,\n\t\t     struct fuse_file_info
      *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fallocate
      Src: /src/libfuse/example/passthrough_fh.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - path
    - mode
    - offset
    - length
    - fi
    argTypes:
    - char*
    - int
    - off_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: xmp_fallocate
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - do_fallocate
    linkageType: ''
    returnType: int
    signature: "int xmp_fallocate(const char *path, int mode,\n\t\t\toff_t offset,
      off_t length, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lsetxattr
      Src: /src/libfuse/example/passthrough_fh.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - path
    - name
    - value
    - size
    - flags
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionName: xmp_setxattr
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - lsetxattr
    linkageType: ''
    returnType: int
    signature: "int xmp_setxattr(const char *path, const char *name, const char *value,\n\t\t\tsize_t
      size, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lgetxattr
      Src: /src/libfuse/example/passthrough_fh.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - path
    - name
    - value
    - size
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: xmp_getxattr
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - lgetxattr
    linkageType: ''
    returnType: int
    signature: "int xmp_getxattr(const char *path, const char *name, char *value,\n\t\t\tsize_t
      size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: llistxattr
      Src: /src/libfuse/example/passthrough_fh.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - path
    - list
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 553
    functionName: xmp_listxattr
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - llistxattr
    linkageType: ''
    returnType: int
    signature: int xmp_listxattr(const char *path, char *list, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lremovexattr
      Src: /src/libfuse/example/passthrough_fh.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - path
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: xmp_removexattr
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - lremovexattr
    linkageType: ''
    returnType: int
    signature: int xmp_removexattr(const char *path, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ulockmgr_op
      Src: /src/libfuse/example/passthrough_fh.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - path
    - fi
    - cmd
    - lock
    argTypes:
    - char*
    - struct fuse_file_info*
    - int
    - struct flock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 572
    functionName: xmp_lock
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - ulockmgr_op
    linkageType: ''
    returnType: int
    signature: "int xmp_lock(const char *path, struct fuse_file_info *fi, int cmd,\n\t\t
      \   struct flock *lock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flock
      Src: /src/libfuse/example/passthrough_fh.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - fi
    - op
    argTypes:
    - char*
    - struct fuse_file_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 585
    functionName: xmp_flock
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - flock
    linkageType: ''
    returnType: int
    signature: int xmp_flock(const char *path, struct fuse_file_info *fi, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copy_file_range
      Src: /src/libfuse/example/passthrough_fh.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - path_in
    - fi_in
    - off_in
    - path_out
    - fi_out
    - off_out
    - len
    - flags
    argTypes:
    - char*
    - struct fuse_file_info*
    - off_t
    - char*
    - struct fuse_file_info*
    - off_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 604
    functionName: xmp_copy_file_range
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - copy_file_range
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t xmp_copy_file_range(const char *path_in,\n\t\t\t\t   struct
      fuse_file_info *fi_in,\n\t\t\t\t   off_t off_in, const char *path_out,\n\t\t\t\t
      \  struct fuse_file_info *fi_out,\n\t\t\t\t   off_t off_out, size_t len, int
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/libfuse/example/passthrough_fh.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - 'off'
    - whence
    - fi
    argTypes:
    - char*
    - off_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 617
    functionName: xmp_lseek
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - lseek
    linkageType: ''
    returnType: off_t
    signature: off_t xmp_lseek(const char *path, off_t off, int whence, struct fuse_file_info
      *fi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: statx
      Src: /src/libfuse/example/passthrough_fh.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - path
    - flags
    - mask
    - stxbuf
    - fi
    argTypes:
    - char*
    - int
    - int
    - struct statx*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 634
    functionName: xmp_statx
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 0
    functionsReached:
    - statx
    linkageType: ''
    returnType: int
    signature: "int xmp_statx(const char *path, int flags, int mask, struct statx
      *stxbuf,\n\t\t     struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/libfuse/example/passthrough_fh.c:690,1
    - Dst: fuse_main
      Src: /src/libfuse/example/passthrough_fh.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: main
    functionSourceFile: /src/libfuse/example/passthrough_fh.c
    functionUses: 5
    functionsReached:
    - fuse_main
    - umask
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: OPTION
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTION(t, p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ino
    - stbuf
    argTypes:
    - fuse_ino_t
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: tfs_stat
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tfs_stat(fuse_ino_t ino, struct stat *stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userdata
    - conn
    argTypes:
    - void*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: tfs_init
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tfs_init(void *userdata, struct fuse_conn_info *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - userarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: tfs_destroy
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tfs_destroy(void *userarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/notify_inval_inode.c:143,1
    - Dst: strcmp
      Src: /src/libfuse/example/notify_inval_inode.c:147,1
    - Dst: tfs_stat
      Src: /src/libfuse/example/notify_inval_inode.c:155,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/notify_inval_inode.c:157,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_inval_inode.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 7
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: tfs_lookup
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - tfs_stat
    - fuse_reply_err
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: "void tfs_lookup(fuse_req_t req, fuse_ino_t parent,\n                       const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/example/notify_inval_inode.c:170,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/example/notify_inval_inode.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - nlookup
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - uint64_t
    assertStmts:
    - condition: (ino == FUSE_ROOT_ID)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/libfuse/example/notify_inval_inode.c
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: tfs_forget
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 0
    functionsReached:
    - fuse_reply_none
    - assert
    linkageType: ''
    returnType: void
    signature: "void tfs_forget (fuse_req_t req, fuse_ino_t ino,\n                        uint64_t
      nlookup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/notify_inval_inode.c:180,1
    - Dst: tfs_stat
      Src: /src/libfuse/example/notify_inval_inode.c:181,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_inval_inode.c:182,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/example/notify_inval_inode.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 7
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: tfs_getattr
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 1
    functionsReached:
    - tfs_stat
    - memset
    - fuse_reply_attr
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void tfs_getattr(fuse_req_t req, fuse_ino_t ino,\n                        struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/notify_inval_inode.c:196,1
    - Dst: realloc
      Src: /src/libfuse/example/notify_inval_inode.c:197,1
    - Dst: memset
      Src: /src/libfuse/example/notify_inval_inode.c:198,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/notify_inval_inode.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - req
    - b
    - name
    - ino
    argTypes:
    - fuse_req_t
    - struct dirbuf*
    - char*
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: dirbuf_add
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 2
    functionsReached:
    - fuse_add_direntry
    - memset
    - realloc
    linkageType: ''
    returnType: void
    signature: "void dirbuf_add(fuse_req_t req, struct dirbuf *b, const char *name,\n
      \                      fuse_ino_t ino)"
  - 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: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: min
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(x, y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/notify_inval_inode.c:209,1
    - Dst: min
      Src: /src/libfuse/example/notify_inval_inode.c:210,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/notify_inval_inode.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - req
    - buf
    - bufsize
    - 'off'
    - maxsize
    argTypes:
    - fuse_req_t
    - char*
    - size_t
    - off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 7
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: reply_buf_limited
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 4
    functionsReached:
    - fuse_reply_buf
    - min
    linkageType: ''
    returnType: int
    signature: "int reply_buf_limited(fuse_req_t req, const char *buf, size_t bufsize,\n
      \                            off_t off, size_t maxsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_inval_inode.c:220,1
    - Dst: memset
      Src: /src/libfuse/example/notify_inval_inode.c:224,1
    - Dst: dirbuf_add
      Src: /src/libfuse/example/notify_inval_inode.c:225,1
    - Dst: reply_buf_limited
      Src: /src/libfuse/example/notify_inval_inode.c:226,1
    - Dst: free
      Src: /src/libfuse/example/notify_inval_inode.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 6
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: tfs_readdir
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 0
    functionsReached:
    - dirbuf_add
    - reply_buf_limited
    - memset
    - free
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void tfs_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,\n                        off_t
      off, struct fuse_file_info *fi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_inval_inode.c:239,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_inval_inode.c:241,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/notify_inval_inode.c:243,1
    - Dst: fprintf
      Src: /src/libfuse/example/notify_inval_inode.c:246,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_inval_inode.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 231
    functionDepth: 7
    functionLinenumber: 231
    functionLinenumberEnd: 249
    functionName: tfs_open
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fprintf
    - fuse_reply_open
    linkageType: ''
    returnType: void
    signature: "void tfs_open(fuse_req_t req, fuse_ino_t ino,\n                     struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/example/notify_inval_inode.c:255,1
    - Dst: reply_buf_limited
      Src: /src/libfuse/example/notify_inval_inode.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts:
    - condition: (ino == FILE_INO)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/libfuse/example/notify_inval_inode.c
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: tfs_read
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 0
    functionsReached:
    - reply_buf_limited
    - assert
    linkageType: ''
    returnType: void
    signature: "void tfs_read(fuse_req_t req, fuse_ino_t ino, size_t size,\n                     off_t
      off, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libfuse/example/notify_inval_inode.c:273,1
    - Dst: localtime
      Src: /src/libfuse/example/notify_inval_inode.c:274,1
    - Dst: assert
      Src: /src/libfuse/example/notify_inval_inode.c:275,1
    - Dst: strftime
      Src: /src/libfuse/example/notify_inval_inode.c:277,1
    - Dst: assert
      Src: /src/libfuse/example/notify_inval_inode.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (file_size != 0)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/libfuse/example/notify_inval_inode.c
    - condition: (now != NULL)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/libfuse/example/notify_inval_inode.c
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: update_fs
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 2
    functionsReached:
    - localtime
    - strftime
    - assert
    - time
    linkageType: ''
    returnType: void
    signature: void update_fs(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: update_fs
      Src: /src/libfuse/example/notify_inval_inode.c:286,1
    - Dst: fuse_lowlevel_notify_inval_inode
      Src: /src/libfuse/example/notify_inval_inode.c:295,1
    - Dst: fprintf
      Src: /src/libfuse/example/notify_inval_inode.c:298,1
    - Dst: strerror
      Src: /src/libfuse/example/notify_inval_inode.c:300,1
    - Dst: abort
      Src: /src/libfuse/example/notify_inval_inode.c:301,1
    - Dst: sleep
      Src: /src/libfuse/example/notify_inval_inode.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 307
    functionName: update_fs_loop
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 0
    functionsReached:
    - strerror
    - update_fs
    - fuse_lowlevel_notify_inval_inode
    - fprintf
    - sleep
    - abort
    linkageType: ''
    returnType: void
    signature: void * update_fs_loop(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/example/notify_inval_inode.c:311,1
    - Dst: printf
      Src: /src/libfuse/example/notify_inval_inode.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: show_help
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_help(const char *progname)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/notify_inval_inode.c:319,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/example/notify_inval_inode.c:326,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/example/notify_inval_inode.c:329,1
    - Dst: show_help
      Src: /src/libfuse/example/notify_inval_inode.c:335,1
    - Dst: fuse_cmdline_help
      Src: /src/libfuse/example/notify_inval_inode.c:336,1
    - Dst: fuse_lowlevel_help
      Src: /src/libfuse/example/notify_inval_inode.c:337,1
    - Dst: printf
      Src: /src/libfuse/example/notify_inval_inode.c:341,1
    - Dst: fuse_pkgversion
      Src: /src/libfuse/example/notify_inval_inode.c:341,1
    - Dst: fuse_lowlevel_version
      Src: /src/libfuse/example/notify_inval_inode.c:342,1
    - Dst: update_fs
      Src: /src/libfuse/example/notify_inval_inode.c:348,1
    - Dst: fuse_session_new
      Src: /src/libfuse/example/notify_inval_inode.c:350,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/example/notify_inval_inode.c:355,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/example/notify_inval_inode.c:358,1
    - Dst: fuse_daemonize
      Src: /src/libfuse/example/notify_inval_inode.c:361,1
    - Dst: pthread_create
      Src: /src/libfuse/example/notify_inval_inode.c:364,1
    - Dst: fprintf
      Src: /src/libfuse/example/notify_inval_inode.c:366,1
    - Dst: strerror
      Src: /src/libfuse/example/notify_inval_inode.c:367,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/example/notify_inval_inode.c:373,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/example/notify_inval_inode.c:375,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/example/notify_inval_inode.c:376,1
    - Dst: fuse_loop_cfg_set_max_threads
      Src: /src/libfuse/example/notify_inval_inode.c:377,1
    - Dst: fuse_session_loop_mt
      Src: /src/libfuse/example/notify_inval_inode.c:378,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/example/notify_inval_inode.c:379,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/example/notify_inval_inode.c:383,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/example/notify_inval_inode.c:385,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/example/notify_inval_inode.c:387,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/notify_inval_inode.c:389,1
    - Dst: free
      Src: /src/libfuse/example/notify_inval_inode.c:390,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 318
    functionDepth: 13
    functionLinenumber: 318
    functionLinenumberEnd: 393
    functionName: main
    functionSourceFile: /src/libfuse/example/notify_inval_inode.c
    functionUses: 5
    functionsReached:
    - fuse_session_unmount
    - fuse_daemonize
    - fuse_lowlevel_help
    - fuse_session_mount
    - FUSE_ARGS_INIT
    - pthread_create
    - update_fs
    - fuse_session_loop
    - fuse_opt_free_args
    - fuse_parse_cmdline
    - show_help
    - fuse_lowlevel_version
    - fuse_session_destroy
    - fuse_set_signal_handlers
    - fuse_session_new
    - fuse_loop_cfg_destroy
    - fuse_remove_signal_handlers
    - fuse_opt_parse
    - fuse_loop_cfg_set_max_threads
    - fuse_loop_cfg_set_clone_fd
    - strerror
    - fuse_cmdline_help
    - fprintf
    - free
    - fuse_session_loop_mt
    - fuse_pkgversion
    - fuse_loop_cfg_create
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: OPTION
    functionSourceFile: /src/libfuse/example/hello.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTION(t, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/hello.c:62,1
    - Dst: fuse_unset_feature_flag
      Src: /src/libfuse/example/hello.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - cfg
    argTypes:
    - struct fuse_conn_info*
    - struct fuse_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: hello_init
    functionSourceFile: /src/libfuse/example/hello.c
    functionUses: 0
    functionsReached:
    - fuse_unset_feature_flag
    - fuse_set_feature_flag
    linkageType: ''
    returnType: void
    signature: "void *hello_init(struct fuse_conn_info *conn,\n\t\t\tstruct fuse_config
      *cfg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/hello.c:74,1
    - Dst: strcmp
      Src: /src/libfuse/example/hello.c:75,1
    - Dst: strcmp
      Src: /src/libfuse/example/hello.c:78,1
    - Dst: strlen
      Src: /src/libfuse/example/hello.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: hello_getattr
    functionSourceFile: /src/libfuse/example/hello.c
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int hello_getattr(const char *path, struct stat *stbuf,\n\t\t\t struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/hello.c:96,1
    - Dst: filler
      Src: /src/libfuse/example/hello.c:99,1
    - Dst: filler
      Src: /src/libfuse/example/hello.c:100,1
    - Dst: filler
      Src: /src/libfuse/example/hello.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - path
    - buf
    - filler
    - offset
    - fi
    - flags
    argTypes:
    - char*
    - void*
    - fuse_fill_dir_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: hello_readdir
    functionSourceFile: /src/libfuse/example/hello.c
    functionUses: 0
    functionsReached:
    - strcmp
    - filler
    linkageType: ''
    returnType: int
    signature: "int hello_readdir(const char *path, void *buf, fuse_fill_dir_t filler,\n\t\t\t
      off_t offset, struct fuse_file_info *fi,\n\t\t\t enum fuse_readdir_flags flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/hello.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: hello_open
    functionSourceFile: /src/libfuse/example/hello.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int hello_open(const char *path, struct fuse_file_info *fi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/hello.c:122,1
    - Dst: strlen
      Src: /src/libfuse/example/hello.c:125,1
    - Dst: memcpy
      Src: /src/libfuse/example/hello.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: hello_read
    functionSourceFile: /src/libfuse/example/hello.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int hello_read(const char *path, char *buf, size_t size, off_t offset,\n\t\t
      \     struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/example/hello.c:146,1
    - Dst: printf
      Src: /src/libfuse/example/hello.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: show_help
    functionSourceFile: /src/libfuse/example/hello.c
    functionUses: 3
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_help(const char *progname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/hello.c:158,1
    - Dst: strdup
      Src: /src/libfuse/example/hello.c:163,1
    - Dst: strdup
      Src: /src/libfuse/example/hello.c:164,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/example/hello.c:167,1
    - Dst: show_help
      Src: /src/libfuse/example/hello.c:176,1
    - Dst: assert
      Src: /src/libfuse/example/hello.c:177,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/example/hello.c:177,1
    - Dst: fuse_main
      Src: /src/libfuse/example/hello.c:181,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/hello.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (fuse_opt_add_arg(&args, "--help") == 0)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/libfuse/example/hello.c
    constantsTouched: []
    func_position:
      end: 184
      start: 155
    functionDepth: 13
    functionLinenumber: 155
    functionLinenumberEnd: 184
    functionName: main
    functionSourceFile: /src/libfuse/example/hello.c
    functionUses: 6
    functionsReached:
    - strdup
    - assert
    - fuse_opt_free_args
    - fuse_opt_parse
    - show_help
    - fuse_opt_add_arg
    - fuse_main
    - FUSE_ARGS_INIT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/poll_client.c:44,1
    - Dst: perror
      Src: /src/libfuse/example/poll_client.c:46,1
    - Dst: FD_ZERO
      Src: /src/libfuse/example/poll_client.c:57,1
    - Dst: FD_SET
      Src: /src/libfuse/example/poll_client.c:59,1
    - Dst: select
      Src: /src/libfuse/example/poll_client.c:61,1
    - Dst: perror
      Src: /src/libfuse/example/poll_client.c:64,1
    - Dst: FD_ISSET
      Src: /src/libfuse/example/poll_client.c:69,1
    - Dst: printf
      Src: /src/libfuse/example/poll_client.c:70,1
    - Dst: printf
      Src: /src/libfuse/example/poll_client.c:73,1
    - Dst: read
      Src: /src/libfuse/example/poll_client.c:74,1
    - Dst: perror
      Src: /src/libfuse/example/poll_client.c:76,1
    - Dst: printf
      Src: /src/libfuse/example/poll_client.c:79,1
    - Dst: printf
      Src: /src/libfuse/example/poll_client.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/libfuse/example/poll_client.c
    functionUses: 6
    functionsReached:
    - perror
    - FD_SET
    - read
    - select
    - open
    - FD_ZERO
    - FD_ISSET
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - cfg
    argTypes:
    - struct fuse_conn_info*
    - struct fuse_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: xmp_init
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *xmp_init(struct fuse_conn_info *conn,\n\t\t      struct fuse_config
      *cfg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/libfuse/example/passthrough.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: xmp_getattr
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - lstat
    linkageType: ''
    returnType: int
    signature: "int xmp_getattr(const char *path, struct stat *stbuf,\n\t\t       struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/libfuse/example/passthrough.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - mask
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: xmp_access
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - access
    linkageType: ''
    returnType: int
    signature: int xmp_access(const char *path, int mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readlink
      Src: /src/libfuse/example/passthrough.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - buf
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: xmp_readlink
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - readlink
    linkageType: ''
    returnType: int
    signature: int xmp_readlink(const char *path, char *buf, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/libfuse/example/passthrough.c:129,1
    - Dst: readdir
      Src: /src/libfuse/example/passthrough.c:133,1
    - Dst: fstatat
      Src: /src/libfuse/example/passthrough.c:136,1
    - Dst: dirfd
      Src: /src/libfuse/example/passthrough.c:136,1
    - Dst: memset
      Src: /src/libfuse/example/passthrough.c:139,1
    - Dst: filler
      Src: /src/libfuse/example/passthrough.c:143,1
    - Dst: closedir
      Src: /src/libfuse/example/passthrough.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - path
    - buf
    - filler
    - offset
    - fi
    - flags
    argTypes:
    - char*
    - void*
    - fuse_fill_dir_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 149
    functionName: xmp_readdir
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - readdir
    - dirfd
    - fstatat
    - opendir
    - filler
    - memset
    - closedir
    linkageType: ''
    returnType: int
    signature: "int xmp_readdir(const char *path, void *buf, fuse_fill_dir_t filler,\n\t\t
      \      off_t offset, struct fuse_file_info *fi,\n\t\t       enum fuse_readdir_flags
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mknod_wrapper
      Src: /src/libfuse/example/passthrough.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - path
    - mode
    - rdev
    argTypes:
    - char*
    - mode_t
    - dev_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: xmp_mknod
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - mknod_wrapper
    linkageType: ''
    returnType: int
    signature: int xmp_mknod(const char *path, mode_t mode, dev_t rdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkdir
      Src: /src/libfuse/example/passthrough.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: xmp_mkdir
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - mkdir
    linkageType: ''
    returnType: int
    signature: int xmp_mkdir(const char *path, mode_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/libfuse/example/passthrough.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: xmp_unlink
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int xmp_unlink(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rmdir
      Src: /src/libfuse/example/passthrough.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: xmp_rmdir
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - rmdir
    linkageType: ''
    returnType: int
    signature: int xmp_rmdir(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: symlink
      Src: /src/libfuse/example/passthrough.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: xmp_symlink
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - symlink
    linkageType: ''
    returnType: int
    signature: int xmp_symlink(const char *from, const char *to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/libfuse/example/passthrough.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - from
    - to
    - flags
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: xmp_rename
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - rename
    linkageType: ''
    returnType: int
    signature: int xmp_rename(const char *from, const char *to, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: link
      Src: /src/libfuse/example/passthrough.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: xmp_link
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - link
    linkageType: ''
    returnType: int
    signature: int xmp_link(const char *from, const char *to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chmod
      Src: /src/libfuse/example/passthrough.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - mode
    - fi
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: xmp_chmod
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - chmod
    linkageType: ''
    returnType: int
    signature: "int xmp_chmod(const char *path, mode_t mode,\n\t\t     struct fuse_file_info
      *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lchown
      Src: /src/libfuse/example/passthrough.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - path
    - uid
    - gid
    - fi
    argTypes:
    - char*
    - uid_t
    - gid_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: xmp_chown
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - lchown
    linkageType: ''
    returnType: int
    signature: "int xmp_chown(const char *path, uid_t uid, gid_t gid,\n\t\t     struct
      fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ftruncate
      Src: /src/libfuse/example/passthrough.c:263,1
    - Dst: truncate
      Src: /src/libfuse/example/passthrough.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - path
    - size
    - fi
    argTypes:
    - char*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: xmp_truncate
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - truncate
    - ftruncate
    linkageType: ''
    returnType: int
    signature: "int xmp_truncate(const char *path, off_t size,\n\t\t\tstruct fuse_file_info
      *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utimensat
      Src: /src/libfuse/example/passthrough.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - ts
    - fi
    argTypes:
    - char*
    - struct timespec[]
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: xmp_utimens
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - utimensat
    linkageType: ''
    returnType: int
    signature: "int xmp_utimens(const char *path, const struct timespec ts[2],\n\t\t
      \      struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/passthrough.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - mode
    - fi
    argTypes:
    - char*
    - mode_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: xmp_create
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: "int xmp_create(const char *path, mode_t mode,\n\t\t      struct fuse_file_info
      *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/passthrough.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: xmp_open
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int xmp_open(const char *path, struct fuse_file_info *fi)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/passthrough.c:328,1
    - Dst: pread
      Src: /src/libfuse/example/passthrough.c:335,1
    - Dst: close
      Src: /src/libfuse/example/passthrough.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 342
    functionName: xmp_read
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - pread
    - open
    - close
    linkageType: ''
    returnType: int
    signature: "int xmp_read(const char *path, char *buf, size_t size, off_t offset,\n\t\t
      \   struct fuse_file_info *fi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/passthrough.c:352,1
    - Dst: pwrite
      Src: /src/libfuse/example/passthrough.c:359,1
    - Dst: close
      Src: /src/libfuse/example/passthrough.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 366
    functionName: xmp_write
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - pwrite
    - close
    - open
    linkageType: ''
    returnType: int
    signature: "int xmp_write(const char *path, const char *buf, size_t size,\n\t\t
      \    off_t offset, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: statvfs
      Src: /src/libfuse/example/passthrough.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - stbuf
    argTypes:
    - char*
    - struct statvfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: xmp_statfs
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - statvfs
    linkageType: ''
    returnType: int
    signature: int xmp_statfs(const char *path, struct statvfs *stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/example/passthrough.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: xmp_release
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int xmp_release(const char *path, struct fuse_file_info *fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - path
    - isdatasync
    - fi
    argTypes:
    - char*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: xmp_fsync
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int xmp_fsync(const char *path, int isdatasync,\n\t\t     struct fuse_file_info
      *fi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/passthrough.c:407,1
    - Dst: do_fallocate
      Src: /src/libfuse/example/passthrough.c:414,1
    - Dst: close
      Src: /src/libfuse/example/passthrough.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - path
    - mode
    - offset
    - length
    - fi
    argTypes:
    - char*
    - int
    - off_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 419
    functionName: xmp_fallocate
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - close
    - open
    - do_fallocate
    linkageType: ''
    returnType: int
    signature: "int xmp_fallocate(const char *path, int mode,\n\t\t\toff_t offset,
      off_t length, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lsetxattr
      Src: /src/libfuse/example/passthrough.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - path
    - name
    - value
    - size
    - flags
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: xmp_setxattr
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - lsetxattr
    linkageType: ''
    returnType: int
    signature: "int xmp_setxattr(const char *path, const char *name, const char *value,\n\t\t\tsize_t
      size, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lgetxattr
      Src: /src/libfuse/example/passthrough.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - path
    - name
    - value
    - size
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: xmp_getxattr
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - lgetxattr
    linkageType: ''
    returnType: int
    signature: "int xmp_getxattr(const char *path, const char *name, char *value,\n\t\t\tsize_t
      size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: llistxattr
      Src: /src/libfuse/example/passthrough.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - path
    - list
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: xmp_listxattr
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - llistxattr
    linkageType: ''
    returnType: int
    signature: int xmp_listxattr(const char *path, char *list, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lremovexattr
      Src: /src/libfuse/example/passthrough.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - path
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: xmp_removexattr
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - lremovexattr
    linkageType: ''
    returnType: int
    signature: int xmp_removexattr(const char *path, const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/passthrough.c:469,1
    - Dst: open
      Src: /src/libfuse/example/passthrough.c:477,1
    - Dst: close
      Src: /src/libfuse/example/passthrough.c:482,1
    - Dst: copy_file_range
      Src: /src/libfuse/example/passthrough.c:486,1
    - Dst: close
      Src: /src/libfuse/example/passthrough.c:492,1
    - Dst: close
      Src: /src/libfuse/example/passthrough.c:494,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 8
    argNames:
    - path_in
    - fi_in
    - offset_in
    - path_out
    - fi_out
    - offset_out
    - len
    - flags
    argTypes:
    - char*
    - struct fuse_file_info*
    - off_t
    - char*
    - struct fuse_file_info*
    - off_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 497
    functionName: xmp_copy_file_range
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - copy_file_range
    - close
    - open
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t xmp_copy_file_range(const char *path_in,\n\t\t\t\t   struct
      fuse_file_info *fi_in,\n\t\t\t\t   off_t offset_in, const char *path_out,\n\t\t\t\t
      \  struct fuse_file_info *fi_out,\n\t\t\t\t   off_t offset_out, size_t len,
      int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/passthrough.c:506,1
    - Dst: lseek
      Src: /src/libfuse/example/passthrough.c:513,1
    - Dst: close
      Src: /src/libfuse/example/passthrough.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - path
    - 'off'
    - whence
    - fi
    argTypes:
    - char*
    - off_t
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 520
    functionName: xmp_lseek
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - lseek
    - open
    - close
    linkageType: ''
    returnType: off_t
    signature: off_t xmp_lseek(const char *path, off_t off, int whence, struct fuse_file_info
      *fi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: statx
      Src: /src/libfuse/example/passthrough.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - path
    - flags
    - mask
    - stxbuf
    - fi
    argTypes:
    - char*
    - int
    - int
    - struct statx*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 537
    functionName: xmp_statx
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 0
    functionsReached:
    - statx
    linkageType: ''
    returnType: int
    signature: "int xmp_statx(const char *path, int flags, int mask, struct statx
      *stxbuf,\n\t\t     struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/libfuse/example/passthrough.c:588,1
    - Dst: strcmp
      Src: /src/libfuse/example/passthrough.c:591,1
    - Dst: fuse_main
      Src: /src/libfuse/example/passthrough.c:597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 598
    functionName: main
    functionSourceFile: /src/libfuse/example/passthrough.c
    functionUses: 7
    functionsReached:
    - strcmp
    - fuse_main
    - umask
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: icu::UnicodeString::fromUTF8
      Src: /src/libfuse/example/cxxopts.hpp:83,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: cxxopts::toLocalString
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - icu::UnicodeString::fromUTF8
    - std::move
    linkageType: ''
    returnType: String
    signature: String toLocalString(std::string s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - string
    - pos
    argTypes:
    - icu::UnicodeString*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: cxxopts::UnicodeStringIterator::UnicodeStringIterator
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnicodeStringIterator(const icu::UnicodeString* string, int32_t
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char32At
      Src: /src/libfuse/example/cxxopts.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: operator*() const
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - char32At
    linkageType: ''
    returnType: value_type
    signature: value_type operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - UnicodeStringIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: operator==(const UnicodeStringIterator& rhs) const
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const UnicodeStringIterator& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - UnicodeStringIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: operator!=(const UnicodeStringIterator& rhs) const
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const UnicodeStringIterator& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: "&\n    operator++()"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnicodeStringIterator
    signature: "UnicodeStringIterator &\n    operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnicodeStringIterator
      Src: /src/libfuse/example/cxxopts.hpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: operator+(int32_t v)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - UnicodeStringIterator
    linkageType: ''
    returnType: UnicodeStringIterator
    signature: UnicodeStringIterator operator+(int32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String::append
      Src: /src/libfuse/example/cxxopts.hpp:137,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - String::append
    - std::move
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String&s, String a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libfuse/example/cxxopts.hpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' s'
    - n
    - c
    argTypes:
    - String
    - int
    - UChar32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String& s, int n, UChar32 c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libfuse/example/cxxopts.hpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' s'
    - begin
    - end
    argTypes:
    - String
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String& s, Iterator begin, Iterator end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: cxxopts::stringLength
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - length
    linkageType: ''
    returnType: size_t
    signature: size_t stringLength(const String& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::toUTF8String
      Src: /src/libfuse/example/cxxopts.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: cxxopts::toUTF8String
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - cxxopts::toUTF8String
    linkageType: ''
    returnType: std::string
    signature: std::string toUTF8String(const String& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/libfuse/example/cxxopts.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: cxxopts::empty
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool empty(const String& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: icu::UnicodeString::fromUTF8
      Src: /src/libfuse/example/cxxopts.hpp:83,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: cxxopts::toLocalString
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - icu::UnicodeString::fromUTF8
    - std::move
    linkageType: ''
    returnType: String
    signature: String toLocalString(std::string s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - string
    - pos
    argTypes:
    - icu::UnicodeString*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: cxxopts::UnicodeStringIterator::UnicodeStringIterator
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnicodeStringIterator(const icu::UnicodeString* string, int32_t
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char32At
      Src: /src/libfuse/example/cxxopts.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: operator*() const
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - char32At
    linkageType: ''
    returnType: value_type
    signature: value_type operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - UnicodeStringIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: operator==(const UnicodeStringIterator& rhs) const
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const UnicodeStringIterator& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - UnicodeStringIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: operator!=(const UnicodeStringIterator& rhs) const
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const UnicodeStringIterator& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: "&\n    operator++()"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnicodeStringIterator
    signature: "UnicodeStringIterator &\n    operator++()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnicodeStringIterator
      Src: /src/libfuse/example/cxxopts.hpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: operator+(int32_t v)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - UnicodeStringIterator
    linkageType: ''
    returnType: UnicodeStringIterator
    signature: UnicodeStringIterator operator+(int32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String::append
      Src: /src/libfuse/example/cxxopts.hpp:137,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - String::append
    - std::move
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String&s, String a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libfuse/example/cxxopts.hpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' s'
    - n
    - c
    argTypes:
    - String
    - int
    - UChar32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String& s, int n, UChar32 c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libfuse/example/cxxopts.hpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' s'
    - begin
    - end
    argTypes:
    - String
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String& s, Iterator begin, Iterator end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: cxxopts::stringLength
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - length
    linkageType: ''
    returnType: size_t
    signature: size_t stringLength(const String& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::toUTF8String
      Src: /src/libfuse/example/cxxopts.hpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: cxxopts::toUTF8String
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::toUTF8String
    linkageType: ''
    returnType: std::string
    signature: std::string toUTF8String(const String& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/libfuse/example/cxxopts.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: cxxopts::empty
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool empty(const String& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::UnicodeStringIterator::UnicodeStringIterator
      Src: /src/libfuse/example/cxxopts.hpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - icu::UnicodeString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: std::begin
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::UnicodeStringIterator::UnicodeStringIterator
    linkageType: ''
    returnType: cxxopts::UnicodeStringIterator
    signature: cxxopts::UnicodeStringIterator begin(const icu::UnicodeString& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::UnicodeStringIterator::UnicodeStringIterator
      Src: /src/libfuse/example/cxxopts.hpp:203,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - icu::UnicodeString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: std::end
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - length
    - cxxopts::UnicodeStringIterator::UnicodeStringIterator
    linkageType: ''
    returnType: cxxopts::UnicodeStringIterator
    signature: cxxopts::UnicodeStringIterator end(const icu::UnicodeString& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::UnicodeStringIterator::UnicodeStringIterator
      Src: /src/libfuse/example/cxxopts.hpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - icu::UnicodeString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: std::begin
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::UnicodeStringIterator::UnicodeStringIterator
    linkageType: ''
    returnType: cxxopts::UnicodeStringIterator
    signature: cxxopts::UnicodeStringIterator begin(const icu::UnicodeString& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::UnicodeStringIterator::UnicodeStringIterator
      Src: /src/libfuse/example/cxxopts.hpp:203,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - icu::UnicodeString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: std::end
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - length
    - cxxopts::UnicodeStringIterator::UnicodeStringIterator
    linkageType: ''
    returnType: cxxopts::UnicodeStringIterator
    signature: cxxopts::UnicodeStringIterator end(const icu::UnicodeString& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/libfuse/example/cxxopts.hpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: cxxopts::toLocalString
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: T
    signature: T toLocalString(T&& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: cxxopts::stringLength
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - length
    linkageType: ''
    returnType: size_t
    signature: size_t stringLength(const String& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String::append
      Src: /src/libfuse/example/cxxopts.hpp:232,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - String::append
    - std::move
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String&s, String a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libfuse/example/cxxopts.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' s'
    - n
    - c
    argTypes:
    - String
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String& s, size_t n, char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libfuse/example/cxxopts.hpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' s'
    - begin
    - end
    argTypes:
    - String
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String& s, Iterator begin, Iterator end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/libfuse/example/cxxopts.hpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: cxxopts::toUTF8String
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: std::string
    signature: std::string toUTF8String(T&& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::empty
      Src: /src/libfuse/example/cxxopts.hpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: cxxopts::empty
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - cxxopts::empty
    linkageType: ''
    returnType: bool
    signature: bool empty(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/libfuse/example/cxxopts.hpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: cxxopts::toLocalString
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: T
    signature: T toLocalString(T&& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: cxxopts::stringLength
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - length
    linkageType: ''
    returnType: size_t
    signature: size_t stringLength(const String& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String::append
      Src: /src/libfuse/example/cxxopts.hpp:232,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - String
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - String::append
    - std::move
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String&s, String a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libfuse/example/cxxopts.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' s'
    - n
    - c
    argTypes:
    - String
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String& s, size_t n, char c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/libfuse/example/cxxopts.hpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' s'
    - begin
    - end
    argTypes:
    - String
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: cxxopts::stringAppend
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: String
    signature: "String &\n  stringAppend(String& s, Iterator begin, Iterator end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<T>
      Src: /src/libfuse/example/cxxopts.hpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: cxxopts::toUTF8String
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - std::forward<T>
    linkageType: ''
    returnType: std::string
    signature: std::string toUTF8String(T&& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::empty
      Src: /src/libfuse/example/cxxopts.hpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: cxxopts::empty
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::empty
    linkageType: ''
    returnType: bool
    signature: bool empty(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: ~Value()
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: cxxopts::OptionException::OptionException
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionException(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/libfuse/example/cxxopts.hpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: cxxopts::OptionException::what
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: "char *\n    what() const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: cxxopts::OptionSpecException::OptionSpecException
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionSpecException(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: cxxopts::OptionParseException::OptionParseException
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionParseException(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: cxxopts::option_exists_error::option_exists_error
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_exists_error(const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: cxxopts::invalid_option_format_error::invalid_option_format_error
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void invalid_option_format_error(const std::string& format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: cxxopts::option_syntax_exception::option_syntax_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_syntax_exception(const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: cxxopts::option_not_exists_exception::option_not_exists_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_not_exists_exception(const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: cxxopts::missing_argument_exception::missing_argument_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void missing_argument_exception(const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: cxxopts::option_requires_argument_exception::option_requires_argument_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_requires_argument_exception(const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' option'
    - ' arg'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: cxxopts::option_not_has_argument_exception::option_not_has_argument_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void option_not_has_argument_exception\n    (\n      const std::string&
      option,\n      const std::string& arg\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: cxxopts::option_not_present_exception::option_not_present_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_not_present_exception(const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: cxxopts::argument_incorrect_type::argument_incorrect_type
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void argument_incorrect_type\n    (\n      const std::string& arg\n
      \   )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: cxxopts::option_required_exception::option_required_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_required_exception(const std::string& option)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:496,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:498,1
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:503,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - negative
    - u
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: operator()(bool negative, U u, const std::string& text)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - argument_incorrect_type
    - static_cast<U>
    linkageType: ''
    returnType: void
    signature: void operator()(bool negative, U u, const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: operator()(bool, U, const std::string&)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(bool, U, const std::string&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignedCheck<T, std::numeric_limits<T>::is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - negative
    - value
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: cxxopts::values::detail::check_signed_range
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - SignedCheck<T, std::numeric_limits<T>::is_signed>
    linkageType: ''
    returnType: void
    signature: void check_signed_range(bool negative, U value, const std::string&
      text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:496,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:498,1
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:503,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - negative
    - u
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: operator()(bool negative, U u, const std::string& text)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - argument_incorrect_type
    - static_cast<U>
    linkageType: ''
    returnType: void
    signature: void operator()(bool negative, U u, const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: operator()(bool, U, const std::string&)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(bool, U, const std::string&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignedCheck<T, std::numeric_limits<T>::is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - negative
    - value
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: cxxopts::values::detail::check_signed_range
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - SignedCheck<T, std::numeric_limits<T>::is_signed>
    linkageType: ''
    returnType: void
    signature: void check_signed_range(bool negative, U value, const std::string&
      text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<R>
      Src: /src/libfuse/example/cxxopts.hpp:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: cxxopts::values::checked_negate
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - static_cast<R>
    linkageType: ''
    returnType: R
    signature: R checked_negate(T&& t, const std::string&, std::true_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: cxxopts::values::checked_negate
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - argument_incorrect_type
    linkageType: ''
    returnType: T
    signature: T checked_negate(T&&, const std::string& text, std::false_type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:549,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:551,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:553,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:556,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:565,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:566,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:578,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:582,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:586,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:590,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:596,1
    - Dst: detail::check_signed_range<T>
      Src: /src/libfuse/example/cxxopts.hpp:602,1
    - Dst: cxxopts::values::checked_negate
      Src: /src/libfuse/example/cxxopts.hpp:606,1
    - Dst: std::integral_constant<bool, is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:608,1
    - Dst: static_cast<T>
      Src: /src/libfuse/example/cxxopts.hpp:612,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 614
    functionName: cxxopts::values::integer_parser
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - detail::check_signed_range<T>
    - cxxopts::values::checked_negate
    - static_cast<US>
    - std::smatch::length
    - static_cast<T>
    - std::integral_constant<bool, is_signed>
    - argument_incorrect_type
    - std::regex_match
    linkageType: ''
    returnType: void
    signature: void integer_parser(const std::string& text, T& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: cxxopts::values::stringstream_parser
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - argument_incorrect_type
    linkageType: ''
    returnType: void
    signature: void stringstream_parser(const std::string& text, T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint8_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int8_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 645
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint16_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 652
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int16_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint32_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int32_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint64_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 680
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int64_t& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:687,1
    - Dst: std::smatch::empty
      Src: /src/libfuse/example/cxxopts.hpp:689,1
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:695,1
    - Dst: std::smatch::empty
      Src: /src/libfuse/example/cxxopts.hpp:696,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 703
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::regex_match
    - argument_incorrect_type
    - std::smatch::empty
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, bool& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 710
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::stringstream_parser
      Src: /src/libfuse/example/cxxopts.hpp:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::stringstream_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::eof
      Src: /src/libfuse/example/cxxopts.hpp:727,1
    - Dst: std::getline
      Src: /src/libfuse/example/cxxopts.hpp:727,1
    - Dst: cxxopts::values::parse_value
      Src: /src/libfuse/example/cxxopts.hpp:729,1
    - Dst: emplace_back
      Src: /src/libfuse/example/cxxopts.hpp:730,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 732
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - std::getline
    - std::stringstream::eof
    - emplace_back
    - cxxopts::values::parse_value
    - std::move
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::vector<T>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::parse_value
      Src: /src/libfuse/example/cxxopts.hpp:740,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::values::parse_value
    - std::move
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::optional<T>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<T>
      Src: /src/libfuse/example/cxxopts.hpp:764,1
    - Dst: get
      Src: /src/libfuse/example/cxxopts.hpp:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_shared<T>
    linkageType: ''
    returnType: void
    signature: void abstract_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void abstract_value(T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 774
    functionName: ~abstract_value()
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~abstract_value()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<T>
      Src: /src/libfuse/example/cxxopts.hpp:780,1
    - Dst: get
      Src: /src/libfuse/example/cxxopts.hpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - abstract_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 792
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_shared<T>
    linkageType: ''
    returnType: void
    signature: void abstract_value(const abstract_value& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_value
      Src: /src/libfuse/example/cxxopts.hpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 798
    functionName: cxxopts::values::abstract_value::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - parse_value
    linkageType: ''
    returnType: void
    signature: void parse(const std::string& text) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 804
    functionName: cxxopts::values::abstract_value::is_container
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_container() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_value
      Src: /src/libfuse/example/cxxopts.hpp:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 810
    functionName: cxxopts::values::abstract_value::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - parse_value
    linkageType: ''
    returnType: void
    signature: void parse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: cxxopts::values::abstract_value::has_default
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_default() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 822
    functionName: cxxopts::values::abstract_value::has_implicit
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_implicit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionName: cxxopts::values::abstract_value::default_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> default_value(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 838
    functionName: cxxopts::values::abstract_value::implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> implicit_value(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 845
    functionName: cxxopts::values::abstract_value::no_implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> no_implicit_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: cxxopts::values::abstract_value::get_default_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_default_value() const
  - 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: cxxopts::values::abstract_value::get_implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_implicit_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 863
    functionName: cxxopts::values::abstract_value::is_boolean
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_boolean() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 876
    functionName: "&\n      get() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T &\n      get() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<standard_value<T>>
      Src: /src/libfuse/example/cxxopts.hpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: cxxopts::values::standard_value::clone
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<standard_value<T>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 906
    functionName: ~standard_value()
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~standard_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::standard_value<bool>::set_default_and_implicit
      Src: /src/libfuse/example/cxxopts.hpp:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: cxxopts::values::standard_value<bool>::standard_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::standard_value<bool>::set_default_and_implicit
    linkageType: ''
    returnType: void
    signature: void standard_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::standard_value<bool>::set_default_and_implicit
      Src: /src/libfuse/example/cxxopts.hpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 917
    functionName: cxxopts::values::standard_value<bool>::standard_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::standard_value<bool>::set_default_and_implicit
    linkageType: ''
    returnType: void
    signature: void standard_value(bool* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<standard_value<bool>>
      Src: /src/libfuse/example/cxxopts.hpp:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 923
    functionName: cxxopts::values::standard_value<bool>::clone
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<standard_value<bool>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 934
    functionName: cxxopts::values::standard_value<bool>::set_default_and_implicit
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_default_and_implicit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:496,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:498,1
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:503,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - negative
    - u
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: operator()(bool negative, U u, const std::string& text)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - argument_incorrect_type
    - static_cast<U>
    linkageType: ''
    returnType: void
    signature: void operator()(bool negative, U u, const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: operator()(bool, U, const std::string&)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(bool, U, const std::string&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignedCheck<T, std::numeric_limits<T>::is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - negative
    - value
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: cxxopts::values::detail::check_signed_range
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - SignedCheck<T, std::numeric_limits<T>::is_signed>
    linkageType: ''
    returnType: void
    signature: void check_signed_range(bool negative, U value, const std::string&
      text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:496,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:498,1
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:503,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - negative
    - u
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: operator()(bool negative, U u, const std::string& text)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - argument_incorrect_type
    - static_cast<U>
    linkageType: ''
    returnType: void
    signature: void operator()(bool negative, U u, const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: operator()(bool, U, const std::string&)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(bool, U, const std::string&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignedCheck<T, std::numeric_limits<T>::is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - negative
    - value
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: cxxopts::values::detail::check_signed_range
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - SignedCheck<T, std::numeric_limits<T>::is_signed>
    linkageType: ''
    returnType: void
    signature: void check_signed_range(bool negative, U value, const std::string&
      text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<R>
      Src: /src/libfuse/example/cxxopts.hpp:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: cxxopts::values::checked_negate
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - static_cast<R>
    linkageType: ''
    returnType: R
    signature: R checked_negate(T&& t, const std::string&, std::true_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: cxxopts::values::checked_negate
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - argument_incorrect_type
    linkageType: ''
    returnType: T
    signature: T checked_negate(T&&, const std::string& text, std::false_type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:549,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:551,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:553,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:556,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:565,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:566,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:578,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:582,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:586,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:590,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:596,1
    - Dst: detail::check_signed_range<T>
      Src: /src/libfuse/example/cxxopts.hpp:602,1
    - Dst: cxxopts::values::checked_negate
      Src: /src/libfuse/example/cxxopts.hpp:606,1
    - Dst: std::integral_constant<bool, is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:608,1
    - Dst: static_cast<T>
      Src: /src/libfuse/example/cxxopts.hpp:612,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 614
    functionName: cxxopts::values::integer_parser
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 8
    functionsReached:
    - detail::check_signed_range<T>
    - cxxopts::values::checked_negate
    - static_cast<US>
    - std::smatch::length
    - static_cast<T>
    - std::integral_constant<bool, is_signed>
    - argument_incorrect_type
    - std::regex_match
    linkageType: ''
    returnType: void
    signature: void integer_parser(const std::string& text, T& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: cxxopts::values::stringstream_parser
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - argument_incorrect_type
    linkageType: ''
    returnType: void
    signature: void stringstream_parser(const std::string& text, T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint8_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int8_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 645
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint16_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 652
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int16_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint32_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int32_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint64_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 680
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int64_t& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:687,1
    - Dst: std::smatch::empty
      Src: /src/libfuse/example/cxxopts.hpp:689,1
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:695,1
    - Dst: std::smatch::empty
      Src: /src/libfuse/example/cxxopts.hpp:696,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 703
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - std::regex_match
    - argument_incorrect_type
    - std::smatch::empty
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, bool& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 710
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::stringstream_parser
      Src: /src/libfuse/example/cxxopts.hpp:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::values::stringstream_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::eof
      Src: /src/libfuse/example/cxxopts.hpp:727,1
    - Dst: std::getline
      Src: /src/libfuse/example/cxxopts.hpp:727,1
    - Dst: cxxopts::values::parse_value
      Src: /src/libfuse/example/cxxopts.hpp:729,1
    - Dst: emplace_back
      Src: /src/libfuse/example/cxxopts.hpp:730,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 732
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 3
    functionsReached:
    - std::getline
    - std::stringstream::eof
    - emplace_back
    - cxxopts::values::parse_value
    - std::move
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::vector<T>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::parse_value
      Src: /src/libfuse/example/cxxopts.hpp:740,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 4
    functionsReached:
    - cxxopts::values::parse_value
    - std::move
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::optional<T>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<T>
      Src: /src/libfuse/example/cxxopts.hpp:764,1
    - Dst: get
      Src: /src/libfuse/example/cxxopts.hpp:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_shared<T>
    linkageType: ''
    returnType: void
    signature: void abstract_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void abstract_value(T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 774
    functionName: ~abstract_value()
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~abstract_value()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<T>
      Src: /src/libfuse/example/cxxopts.hpp:780,1
    - Dst: get
      Src: /src/libfuse/example/cxxopts.hpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - abstract_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 792
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_shared<T>
    linkageType: ''
    returnType: void
    signature: void abstract_value(const abstract_value& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_value
      Src: /src/libfuse/example/cxxopts.hpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 798
    functionName: cxxopts::values::abstract_value::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - parse_value
    linkageType: ''
    returnType: void
    signature: void parse(const std::string& text) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 804
    functionName: cxxopts::values::abstract_value::is_container
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_container() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_value
      Src: /src/libfuse/example/cxxopts.hpp:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 810
    functionName: cxxopts::values::abstract_value::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - parse_value
    linkageType: ''
    returnType: void
    signature: void parse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: cxxopts::values::abstract_value::has_default
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_default() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 822
    functionName: cxxopts::values::abstract_value::has_implicit
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_implicit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionName: cxxopts::values::abstract_value::default_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> default_value(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 838
    functionName: cxxopts::values::abstract_value::implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> implicit_value(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 845
    functionName: cxxopts::values::abstract_value::no_implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> no_implicit_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: cxxopts::values::abstract_value::get_default_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_default_value() const
  - 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: cxxopts::values::abstract_value::get_implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_implicit_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 863
    functionName: cxxopts::values::abstract_value::is_boolean
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_boolean() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 876
    functionName: "&\n      get() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T &\n      get() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<standard_value<T>>
      Src: /src/libfuse/example/cxxopts.hpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: cxxopts::values::standard_value::clone
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<standard_value<T>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 906
    functionName: ~standard_value()
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~standard_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::standard_value<bool>::set_default_and_implicit
      Src: /src/libfuse/example/cxxopts.hpp:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: cxxopts::values::standard_value<bool>::standard_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::standard_value<bool>::set_default_and_implicit
    linkageType: ''
    returnType: void
    signature: void standard_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::standard_value<bool>::set_default_and_implicit
      Src: /src/libfuse/example/cxxopts.hpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 917
    functionName: cxxopts::values::standard_value<bool>::standard_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::standard_value<bool>::set_default_and_implicit
    linkageType: ''
    returnType: void
    signature: void standard_value(bool* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<standard_value<bool>>
      Src: /src/libfuse/example/cxxopts.hpp:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 923
    functionName: cxxopts::values::standard_value<bool>::clone
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<standard_value<bool>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 934
    functionName: cxxopts::values::standard_value<bool>::set_default_and_implicit
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_default_and_implicit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<values::standard_value<T>>
      Src: /src/libfuse/example/cxxopts.hpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: cxxopts::value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<values::standard_value<T>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<values::standard_value<T>>
      Src: /src/libfuse/example/cxxopts.hpp:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 950
    functionName: cxxopts::value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<values::standard_value<T>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> value(T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' short_'
    - ' long_'
    - ' desc'
    - val
    argTypes:
    - std::string
    - std::string
    - String
    - std::shared_ptr<const Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 970
    functionName: cxxopts::OptionDetails::OptionDetails
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OptionDetails\n    (\n      const std::string& short_,\n      const
      std::string& long_,\n      const String& desc,\n      std::shared_ptr<const
      Value> val\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_value::clone
      Src: /src/libfuse/example/cxxopts.hpp:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - OptionDetails
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 977
    functionName: cxxopts::OptionDetails::OptionDetails
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - m_value::clone
    linkageType: ''
    returnType: void
    signature: void OptionDetails(const OptionDetails& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - OptionDetails
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 979
    functionName: cxxopts::OptionDetails::OptionDetails
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionDetails(OptionDetails&& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 985
    functionName: "&\n    description() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: "String &\n    description() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: '& value() const'
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Value
    signature: Value & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/libfuse/example/cxxopts.hpp:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: cxxopts::OptionDetails::make_storage
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> make_storage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1001
    functionName: "&\n    short_name() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n    short_name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1007
    functionName: "&\n    long_name() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n    long_name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::OptionValue::ensure_value
      Src: /src/libfuse/example/cxxopts.hpp:1048,1
    - Dst: cxxopts::OptionValue::parse
      Src: /src/libfuse/example/cxxopts.hpp:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - details
    - ' text'
    argTypes:
    - std::shared_ptr<const OptionDetails>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1051
    functionName: cxxopts::OptionValue::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - cxxopts::OptionValue::parse
    - cxxopts::OptionValue::ensure_value
    linkageType: ''
    returnType: void
    signature: "void parse\n    (\n      std::shared_ptr<const OptionDetails> details,\n
      \     const std::string& text\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::OptionValue::ensure_value
      Src: /src/libfuse/example/cxxopts.hpp:1056,1
    - Dst: cxxopts::OptionValue::parse
      Src: /src/libfuse/example/cxxopts.hpp:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - details
    argTypes:
    - std::shared_ptr<const OptionDetails>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1059
    functionName: cxxopts::OptionValue::parse_default
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::OptionValue::parse
    - cxxopts::OptionValue::ensure_value
    linkageType: ''
    returnType: void
    signature: void parse_default(std::shared_ptr<const OptionDetails> details)
  - 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: cxxopts::OptionValue::count
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t count() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1072
    functionName: cxxopts::OptionValue::has_default
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_default() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::domain_error
      Src: /src/libfuse/example/cxxopts.hpp:1079,1
    - Dst: static_cast<const values::standard_value<T>&>
      Src: /src/libfuse/example/cxxopts.hpp:1083,1
    - Dst: dynamic_cast<const values::standard_value<T>&>
      Src: /src/libfuse/example/cxxopts.hpp:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1087
    functionName: cxxopts::OptionValue::as
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const values::standard_value<T>&>
    - dynamic_cast<const values::standard_value<T>&>
    - std::domain_error
    linkageType: ''
    returnType: T
    signature: "T &\n    as() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<const OptionDetails>::make_storage
      Src: /src/libfuse/example/cxxopts.hpp:1095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - details
    argTypes:
    - std::shared_ptr<const OptionDetails>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1097
    functionName: cxxopts::OptionValue::ensure_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - std::shared_ptr<const OptionDetails>::make_storage
    linkageType: ''
    returnType: void
    signature: void ensure_value(std::shared_ptr<const OptionDetails> details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1108,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_
    - value_
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1111
    functionName: cxxopts::KeyValue::KeyValue
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KeyValue(std::string key_, std::string value_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1118
    functionName: "&\n    key() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n    key() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1125
    functionName: "&\n    value() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n    value() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::parse_value
      Src: /src/libfuse/example/cxxopts.hpp:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1128
    functionDepth: 3
    functionLinenumber: 1128
    functionLinenumberEnd: 1134
    functionName: cxxopts::KeyValue::as
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::parse_value
    linkageType: ''
    returnType: T
    signature: T as() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1156,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1157,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1162,1
    - Dst: auto::second::count
      Src: /src/libfuse/example/cxxopts.hpp:1164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1165
    functionName: cxxopts::ParseResult::count
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - auto::second::count
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t count(const std::string& o) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1170,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1172,1
    - Dst: option_not_present_exception
      Src: /src/libfuse/example/cxxopts.hpp:1174,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1180
    functionName: "&\n    operator[](const std::string& option) const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - option_not_present_exception
    - end
    - find
    linkageType: ''
    returnType: OptionValue
    signature: "OptionValue &\n    operator[](const std::string& option) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1186
    functionName: "&\n    arguments() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<KeyValue>
    signature: "std::vector<KeyValue> &\n    arguments() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1240,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1241,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1241,1
    - Dst: std::make_shared<OptionMap>
      Src: /src/libfuse/example/cxxopts.hpp:1246,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - program
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1249
    functionName: cxxopts::Options::Options
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<OptionMap>
    - end
    - std::move
    - toLocalString
    linkageType: ''
    returnType: void
    signature: void Options(std::string program, std::string help_string = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - help_text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1256
    functionName: "&\n    positional_help(std::string help_text)"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: Options
    signature: "Options &\n    positional_help(std::string help_text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - help_text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1263
    functionName: "&\n    custom_help(std::string help_text)"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: Options
    signature: "Options &\n    custom_help(std::string help_text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1270
    functionName: "&\n    show_positional_help()"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: "Options &\n    show_positional_help()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1277
    functionName: "&\n    allow_unrecognised_options()"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: "Options &\n    allow_unrecognised_options()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::Options::parse_positional
      Src: /src/libfuse/example/cxxopts.hpp:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: cxxopts::Options::parse_positional
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - cxxopts::Options::parse_positional
    linkageType: ''
    returnType: void
    signature: void parse_positional(Iterator begin, Iterator end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' options'
    - group
    argTypes:
    - Options
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1366
    functionName: cxxopts::OptionAdder::OptionAdder
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void OptionAdder(Options& options, std::string group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1405,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1407,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1414,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1416,1
    - Dst: arg_help::size
      Src: /src/libfuse/example/cxxopts.hpp:1419,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1419,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - HelpOptionDetails
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1434
    functionName: cxxopts::format_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - arg_help::size
    - cxxopts::toLocalString
    - size
    linkageType: ''
    returnType: String
    signature: "String format_option\n    (\n      const HelpOptionDetails& o\n    )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1448,1
    - Dst: std::begin
      Src: /src/libfuse/example/cxxopts.hpp:1453,1
    - Dst: std::end
      Src: /src/libfuse/example/cxxopts.hpp:1459,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1475,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1476,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1477,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1483,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1484,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1485,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1500,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - ' o'
    - start
    - width
    argTypes:
    - HelpOptionDetails
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1503
    functionName: cxxopts::format_description
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::toLocalString
    - std::begin
    - cxxopts::stringAppend
    - std::end
    linkageType: ''
    returnType: String
    signature: "String format_description\n    (\n      const HelpOptionDetails& o,\n
      \     size_t start,\n      size_t width\n    )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1405,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1407,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1414,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1416,1
    - Dst: arg_help::size
      Src: /src/libfuse/example/cxxopts.hpp:1419,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1419,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - HelpOptionDetails
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1434
    functionName: cxxopts::format_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - arg_help::size
    - cxxopts::toLocalString
    - size
    linkageType: ''
    returnType: String
    signature: "String format_option\n    (\n      const HelpOptionDetails& o\n    )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1448,1
    - Dst: std::begin
      Src: /src/libfuse/example/cxxopts.hpp:1453,1
    - Dst: std::end
      Src: /src/libfuse/example/cxxopts.hpp:1459,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1475,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1476,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1477,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1483,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1484,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1485,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1500,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - ' o'
    - start
    - width
    argTypes:
    - HelpOptionDetails
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1503
    functionName: cxxopts::format_description
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::toLocalString
    - std::begin
    - cxxopts::stringAppend
    - std::end
    linkageType: ''
    returnType: String
    signature: "String format_description\n    (\n      const HelpOptionDetails& o,\n
      \     size_t start,\n      size_t width\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1517,1
    - Dst: begin
      Src: /src/libfuse/example/cxxopts.hpp:1518,1
    - Dst: cxxopts::ParseResult::parse
      Src: /src/libfuse/example/cxxopts.hpp:1521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - options
    - positional
    - allow_unrecognised
    - ' argc'
    - ' argv'
    argTypes:
    - "std::shared_ptr<\n    std::unordered_map<std::string, std::shared_ptr<OptionDetails>>\n
      \ >"
    - std::vector<std::string>
    - bool
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1522
    functionName: cxxopts::ParseResult::ParseResult
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - begin
    - cxxopts::ParseResult::parse
    linkageType: ''
    returnType: void
    signature: "void ParseResult::ParseResult\n(\n  const std::shared_ptr<\n    std::unordered_map<std::string,
      std::shared_ptr<OptionDetails>>\n  > options,\n  std::vector<std::string> positional,\n
      \ bool allow_unrecognised,\n  int& argc, char**& argv\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OptionAdder
      Src: /src/libfuse/example/cxxopts.hpp:1528,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1529
    functionName: cxxopts::Options::add_options
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - OptionAdder
    - std::move
    linkageType: ''
    returnType: OptionAdder
    signature: OptionAdder Options::add_options(std::string group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:1542,1
    - Dst: c_str
      Src: /src/libfuse/example/cxxopts.hpp:1542,1
    - Dst: std::match_results::empty
      Src: /src/libfuse/example/cxxopts.hpp:1544,1
    - Dst: invalid_option_format_error
      Src: /src/libfuse/example/cxxopts.hpp:1546,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1552,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1552,1
    - Dst: invalid_option_format_error
      Src: /src/libfuse/example/cxxopts.hpp:1554,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1555,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1555,1
    - Dst: invalid_option_format_error
      Src: /src/libfuse/example/cxxopts.hpp:1557,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1566,1
    - Dst: std::make_tuple
      Src: /src/libfuse/example/cxxopts.hpp:1568,1
    - Dst: str
      Src: /src/libfuse/example/cxxopts.hpp:1568,1
    - Dst: str
      Src: /src/libfuse/example/cxxopts.hpp:1568,1
    - Dst: std::make_tuple
      Src: /src/libfuse/example/cxxopts.hpp:1572,1
    - Dst: str
      Src: /src/libfuse/example/cxxopts.hpp:1572,1
    - Dst: str
      Src: /src/libfuse/example/cxxopts.hpp:1572,1
    - Dst: add_option
      Src: /src/libfuse/example/cxxopts.hpp:1576,1
    - Dst: std::get<0>
      Src: /src/libfuse/example/cxxopts.hpp:1579,1
    - Dst: std::get<1>
      Src: /src/libfuse/example/cxxopts.hpp:1580,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1583,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ' opts'
    - ' desc'
    - value
    - arg_help
    argTypes:
    - std::string
    - std::string
    - std::shared_ptr<const Value>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1587
    functionName: "&\nOptionAdder::operator()\n(\n  const std::string& opts,\n  const
      std::string& desc,\n  std::shared_ptr<const Value> value,\n  std::string arg_help\n)"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::match_results::empty
    - c_str
    - std::make_tuple
    - str
    - std::get<1>
    - add_option
    - invalid_option_format_error
    - std::regex_match
    - length
    - std::get<0>
    - std::move
    linkageType: ''
    returnType: OptionAdder
    signature: "OptionAdder &\nOptionAdder::operator()\n(\n  const std::string& opts,\n
      \ const std::string& desc,\n  std::shared_ptr<const Value> value,\n  std::string
      arg_help\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::ParseResult::parse_default
      Src: /src/libfuse/example/cxxopts.hpp:1593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - details
    argTypes:
    - std::shared_ptr<OptionDetails>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1594
    functionName: cxxopts::ParseResult::parse_default
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - cxxopts::ParseResult::parse_default
    linkageType: ''
    returnType: void
    signature: void ParseResult::parse_default(std::shared_ptr<OptionDetails> details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::ParseResult::parse
      Src: /src/libfuse/example/cxxopts.hpp:1606,1
    - Dst: emplace_back
      Src: /src/libfuse/example/cxxopts.hpp:1608,1
    - Dst: std::shared_ptr<OptionDetails>::long_name
      Src: /src/libfuse/example/cxxopts.hpp:1608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - ' arg'
    argTypes:
    - std::shared_ptr<OptionDetails>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1609
    functionName: cxxopts::ParseResult::parse_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::shared_ptr<OptionDetails>::long_name
    - cxxopts::ParseResult::parse
    linkageType: ''
    returnType: void
    signature: "void ParseResult::parse_option\n(\n  std::shared_ptr<OptionDetails>
      value,\n  const std::string& /*name*/,\n  const std::string& arg\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<OptionDetails>::value
      Src: /src/libfuse/example/cxxopts.hpp:1624,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1626,1
    - Dst: std::shared_ptr<OptionDetails>::value
      Src: /src/libfuse/example/cxxopts.hpp:1626,1
    - Dst: missing_argument_exception
      Src: /src/libfuse/example/cxxopts.hpp:1630,1
    - Dst: std::shared_ptr<OptionDetails>::value
      Src: /src/libfuse/example/cxxopts.hpp:1635,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1637,1
    - Dst: std::shared_ptr<OptionDetails>::value
      Src: /src/libfuse/example/cxxopts.hpp:1637,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - argc
    - argv
    - ' current'
    - value
    - ' name'
    argTypes:
    - int
    - char*[]
    - int
    - std::shared_ptr<OptionDetails>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1645
    functionName: cxxopts::ParseResult::checked_parse_arg
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::ParseResult::parse_option
    - std::shared_ptr<OptionDetails>::value
    - missing_argument_exception
    linkageType: ''
    returnType: void
    signature: "void ParseResult::checked_parse_arg\n(\n  int argc,\n  char* argv[],\n
      \ int& current,\n  std::shared_ptr<OptionDetails> value,\n  const std::string&
      name\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1651,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1653,1
    - Dst: option_not_exists_exception
      Src: /src/libfuse/example/cxxopts.hpp:1655,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' option'
    - ' arg'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1647
    functionDepth: 2
    functionLinenumber: 1647
    functionLinenumberEnd: 1659
    functionName: cxxopts::ParseResult::add_to_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - option_not_exists_exception
    - end
    - find
    - cxxopts::ParseResult::parse_option
    linkageType: ''
    returnType: void
    signature: void ParseResult::add_to_option(const std::string& option, const std::string&
      arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1665,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1667,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1668,1
    - Dst: auto::second::value
      Src: /src/libfuse/example/cxxopts.hpp:1671,1
    - Dst: cxxopts::ParseResult::count
      Src: /src/libfuse/example/cxxopts.hpp:1673,1
    - Dst: cxxopts::ParseResult::add_to_option
      Src: /src/libfuse/example/cxxopts.hpp:1675,1
    - Dst: cxxopts::ParseResult::add_to_option
      Src: /src/libfuse/example/cxxopts.hpp:1687,1
    - Dst: option_not_exists_exception
      Src: /src/libfuse/example/cxxopts.hpp:1693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - a
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1661
    functionDepth: 3
    functionLinenumber: 1661
    functionLinenumberEnd: 1698
    functionName: cxxopts::ParseResult::consume_positional
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - end
    - option_not_exists_exception
    - find
    - cxxopts::ParseResult::add_to_option
    - cxxopts::ParseResult::count
    - auto::second::value
    linkageType: ''
    returnType: bool
    signature: bool ParseResult::consume_positional(std::string a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::Options::parse_positional
      Src: /src/libfuse/example/cxxopts.hpp:1704,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1705
    functionName: cxxopts::Options::parse_positional
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - std::move
    - cxxopts::Options::parse_positional
    linkageType: ''
    returnType: void
    signature: void Options::parse_positional(std::string option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1711,1
    - Dst: begin
      Src: /src/libfuse/example/cxxopts.hpp:1712,1
    - Dst: insert
      Src: /src/libfuse/example/cxxopts.hpp:1714,1
    - Dst: begin
      Src: /src/libfuse/example/cxxopts.hpp:1714,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1715
    functionName: cxxopts::Options::parse_positional
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - end
    - insert
    - std::move
    - begin
    linkageType: ''
    returnType: void
    signature: void Options::parse_positional(std::vector<std::string> options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::Options::parse_positional
      Src: /src/libfuse/example/cxxopts.hpp:1721,1
    - Dst: std::vector<std::string>
      Src: /src/libfuse/example/cxxopts.hpp:1721,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - std::initializer_list<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1722
    functionName: cxxopts::Options::parse_positional
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 3
    functionsReached:
    - std::move
    - cxxopts::Options::parse_positional
    - std::vector<std::string>
    linkageType: ''
    returnType: void
    signature: void Options::parse_positional(std::initializer_list<std::string> options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' argc'
    - ' argv'
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1730
    functionName: cxxopts::Options::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult Options::parse(int& argc, char**& argv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/cxxopts.hpp:1744,1
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:1752,1
    - Dst: std::match_results::empty
      Src: /src/libfuse/example/cxxopts.hpp:1754,1
    - Dst: option_syntax_exception
      Src: /src/libfuse/example/cxxopts.hpp:1761,1
    - Dst: cxxopts::ParseResult::consume_positional
      Src: /src/libfuse/example/cxxopts.hpp:1767,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1780,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1784,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1787,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1789,1
    - Dst: option_not_exists_exception
      Src: /src/libfuse/example/cxxopts.hpp:1798,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1804,1
    - Dst: cxxopts::ParseResult::checked_parse_arg
      Src: /src/libfuse/example/cxxopts.hpp:1807,1
    - Dst: auto::value
      Src: /src/libfuse/example/cxxopts.hpp:1809,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1811,1
    - Dst: auto::value
      Src: /src/libfuse/example/cxxopts.hpp:1811,1
    - Dst: option_requires_argument_exception
      Src: /src/libfuse/example/cxxopts.hpp:1816,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1820,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1824,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1826,1
    - Dst: option_not_exists_exception
      Src: /src/libfuse/example/cxxopts.hpp:1839,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1846,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1850,1
    - Dst: cxxopts::ParseResult::checked_parse_arg
      Src: /src/libfuse/example/cxxopts.hpp:1855,1
    - Dst: value
      Src: /src/libfuse/example/cxxopts.hpp:1867,1
    - Dst: auto::has_default
      Src: /src/libfuse/example/cxxopts.hpp:1871,1
    - Dst: cxxopts::ParseResult::count
      Src: /src/libfuse/example/cxxopts.hpp:1871,1
    - Dst: has_default
      Src: /src/libfuse/example/cxxopts.hpp:1871,1
    - Dst: cxxopts::ParseResult::parse_default
      Src: /src/libfuse/example/cxxopts.hpp:1872,1
    - Dst: cxxopts::ParseResult::consume_positional
      Src: /src/libfuse/example/cxxopts.hpp:1880,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 77
    argCount: 2
    argNames:
    - ' argc'
    - ' argv'
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1732
    functionDepth: 4
    functionLinenumber: 1732
    functionLinenumberEnd: 1896
    functionName: cxxopts::ParseResult::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - cxxopts::ParseResult::parse_default
    - cxxopts::ParseResult::consume_positional
    - cxxopts::ParseResult::parse_option
    - value
    - find
    - auto::has_default
    - length
    - size
    - std::match_results::empty
    - auto::value
    - end
    - option_requires_argument_exception
    - option_not_exists_exception
    - cxxopts::ParseResult::checked_parse_arg
    - strcmp
    - has_default
    - std::regex_match
    - cxxopts::ParseResult::count
    - option_syntax_exception
    linkageType: ''
    returnType: void
    signature: void ParseResult::parse(int& argc, char**& argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1910,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1910,1
    - Dst: std::make_shared<OptionDetails>
      Src: /src/libfuse/example/cxxopts.hpp:1911,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1913,1
    - Dst: cxxopts::Options::add_one_option
      Src: /src/libfuse/example/cxxopts.hpp:1915,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1918,1
    - Dst: cxxopts::Options::add_one_option
      Src: /src/libfuse/example/cxxopts.hpp:1920,1
    - Dst: options::emplace_back
      Src: /src/libfuse/example/cxxopts.hpp:1926,1
    - Dst: std::shared_ptr<const Value>::has_default
      Src: /src/libfuse/example/cxxopts.hpp:1927,1
    - Dst: std::shared_ptr<const Value>::get_default_value
      Src: /src/libfuse/example/cxxopts.hpp:1927,1
    - Dst: std::shared_ptr<const Value>::has_implicit
      Src: /src/libfuse/example/cxxopts.hpp:1928,1
    - Dst: std::shared_ptr<const Value>::get_implicit_value
      Src: /src/libfuse/example/cxxopts.hpp:1928,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1929,1
    - Dst: std::shared_ptr<const Value>::is_container
      Src: /src/libfuse/example/cxxopts.hpp:1930,1
    - Dst: std::shared_ptr<const Value>::is_boolean
      Src: /src/libfuse/example/cxxopts.hpp:1931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - ' group'
    - ' s'
    - ' l'
    - desc
    - value
    - arg_help
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - std::shared_ptr<const Value>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1898
    functionDepth: 1
    functionLinenumber: 1898
    functionLinenumberEnd: 1932
    functionName: cxxopts::Options::add_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<const Value>::get_default_value
    - options::emplace_back
    - std::make_shared<OptionDetails>
    - toLocalString
    - std::shared_ptr<const Value>::is_boolean
    - std::shared_ptr<const Value>::has_implicit
    - std::shared_ptr<const Value>::get_implicit_value
    - std::move
    - std::shared_ptr<const Value>::is_container
    - std::shared_ptr<const Value>::has_default
    - cxxopts::Options::add_one_option
    - size
    linkageType: ''
    returnType: void
    signature: "void Options::add_option\n(\n  const std::string& group,\n  const
      std::string& s,\n  const std::string& l,\n  std::string desc,\n  std::shared_ptr<const
      Value> value,\n  std::string arg_help\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/libfuse/example/cxxopts.hpp:1942,1
    - Dst: option_exists_error
      Src: /src/libfuse/example/cxxopts.hpp:1946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' option'
    - details
    argTypes:
    - std::string
    - std::shared_ptr<OptionDetails>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1948
    functionName: cxxopts::Options::add_one_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - emplace
    - option_exists_error
    linkageType: ''
    returnType: void
    signature: "void Options::add_one_option\n(\n  const std::string& option,\n  std::shared_ptr<OptionDetails>
      details\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1956,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1957,1
    - Dst: empty
      Src: /src/libfuse/example/cxxopts.hpp:1968,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1970,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1975,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1975,1
    - Dst: format_option
      Src: /src/libfuse/example/cxxopts.hpp:1981,1
    - Dst: stringLength
      Src: /src/libfuse/example/cxxopts.hpp:1982,1
    - Dst: OptionHelp::push_back
      Src: /src/libfuse/example/cxxopts.hpp:1983,1
    - Dst: std::make_pair
      Src: /src/libfuse/example/cxxopts.hpp:1983,1
    - Dst: String
      Src: /src/libfuse/example/cxxopts.hpp:1983,1
    - Dst: static_cast<size_t>
      Src: /src/libfuse/example/cxxopts.hpp:1986,1
    - Dst: OptionHelp::begin
      Src: /src/libfuse/example/cxxopts.hpp:1991,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1994,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1994,1
    - Dst: format_description
      Src: /src/libfuse/example/cxxopts.hpp:2000,1
    - Dst: stringLength
      Src: /src/libfuse/example/cxxopts.hpp:2003,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:2006,1
    - Dst: std::string
      Src: /src/libfuse/example/cxxopts.hpp:2006,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:2010,1
    - Dst: std::string
      Src: /src/libfuse/example/cxxopts.hpp:2010,1
    - Dst: stringLength
      Src: /src/libfuse/example/cxxopts.hpp:2011,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 2021
    functionName: cxxopts::Options::help_one_group
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - String
    - end
    - OptionHelp::push_back
    - static_cast<size_t>
    - toLocalString
    - find
    - std::string
    - empty
    - format_description
    - OptionHelp::begin
    - stringLength
    - std::make_pair
    - format_option
    linkageType: ''
    returnType: String
    signature: String Options::help_one_group(const std::string& g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2031,1
    - Dst: cxxopts::Options::help_one_group
      Src: /src/libfuse/example/cxxopts.hpp:2033,1
    - Dst: empty
      Src: /src/libfuse/example/cxxopts.hpp:2034,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2039,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' result'
    - ' print_groups'
    argTypes:
    - String
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2044
    functionName: cxxopts::Options::generate_group_help
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - empty
    - cxxopts::Options::help_one_group
    - size
    linkageType: ''
    returnType: void
    signature: "void Options::generate_group_help\n(\n  String& result,\n  const std::vector<std::string>&
      print_groups\n) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libfuse/example/cxxopts.hpp:2051,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2051,1
    - Dst: std::vector::push_back
      Src: /src/libfuse/example/cxxopts.hpp:2055,1
    - Dst: cxxopts::Options::generate_group_help
      Src: /src/libfuse/example/cxxopts.hpp:2058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2046
    functionDepth: 2
    functionLinenumber: 2046
    functionLinenumberEnd: 2059
    functionName: cxxopts::Options::generate_all_groups_help
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - cxxopts::Options::generate_group_help
    - std::vector::push_back
    - size
    linkageType: ''
    returnType: void
    signature: void Options::generate_all_groups_help(String& result) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:2066,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:2066,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2068,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2068,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:2069,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2074,1
    - Dst: cxxopts::Options::generate_all_groups_help
      Src: /src/libfuse/example/cxxopts.hpp:2076,1
    - Dst: cxxopts::Options::generate_group_help
      Src: /src/libfuse/example/cxxopts.hpp:2080,1
    - Dst: toUTF8String
      Src: /src/libfuse/example/cxxopts.hpp:2083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' help_groups'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2061
    functionDepth: 3
    functionLinenumber: 2061
    functionLinenumberEnd: 2084
    functionName: cxxopts::Options::help
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - toUTF8String
    - toLocalString
    - cxxopts::Options::generate_all_groups_help
    - cxxopts::Options::generate_group_help
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Options::help(const std::vector<std::string>& help_groups)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/libfuse/example/cxxopts.hpp:2092,1
    - Dst: begin
      Src: /src/libfuse/example/cxxopts.hpp:2093,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:2094,1
    - Dst: std::back_inserter
      Src: /src/libfuse/example/cxxopts.hpp:2095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2103
    functionName: cxxopts::Options::groups
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - std::transform
    - end
    - begin
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Options::groups() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/libfuse/example/cxxopts.hpp:2109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2110
    functionName: '&

      Options::group_help(const std::string& group) const'
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: HelpGroupDetails
    signature: 'HelpGroupDetails &

      Options::group_help(const std::string& group) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: ~Value()
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: cxxopts::OptionException::OptionException
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionException(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/libfuse/example/cxxopts.hpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: cxxopts::OptionException::what
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: "char *\n    what() const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: cxxopts::OptionSpecException::OptionSpecException
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionSpecException(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: cxxopts::OptionParseException::OptionParseException
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionParseException(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: cxxopts::option_exists_error::option_exists_error
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_exists_error(const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: cxxopts::invalid_option_format_error::invalid_option_format_error
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void invalid_option_format_error(const std::string& format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: cxxopts::option_syntax_exception::option_syntax_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_syntax_exception(const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: cxxopts::option_not_exists_exception::option_not_exists_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_not_exists_exception(const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: cxxopts::missing_argument_exception::missing_argument_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void missing_argument_exception(const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: cxxopts::option_requires_argument_exception::option_requires_argument_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_requires_argument_exception(const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' option'
    - ' arg'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: cxxopts::option_not_has_argument_exception::option_not_has_argument_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void option_not_has_argument_exception\n    (\n      const std::string&
      option,\n      const std::string& arg\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: cxxopts::option_not_present_exception::option_not_present_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_not_present_exception(const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' arg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: cxxopts::argument_incorrect_type::argument_incorrect_type
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void argument_incorrect_type\n    (\n      const std::string& arg\n
      \   )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: cxxopts::option_required_exception::option_required_exception
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void option_required_exception(const std::string& option)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:496,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:498,1
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:503,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - negative
    - u
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: operator()(bool negative, U u, const std::string& text)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - argument_incorrect_type
    - static_cast<U>
    linkageType: ''
    returnType: void
    signature: void operator()(bool negative, U u, const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: operator()(bool, U, const std::string&)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(bool, U, const std::string&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignedCheck<T, std::numeric_limits<T>::is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - negative
    - value
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: cxxopts::values::detail::check_signed_range
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - SignedCheck<T, std::numeric_limits<T>::is_signed>
    linkageType: ''
    returnType: void
    signature: void check_signed_range(bool negative, U value, const std::string&
      text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:496,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:498,1
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:503,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - negative
    - u
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: operator()(bool negative, U u, const std::string& text)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - argument_incorrect_type
    - static_cast<U>
    linkageType: ''
    returnType: void
    signature: void operator()(bool negative, U u, const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: operator()(bool, U, const std::string&)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(bool, U, const std::string&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignedCheck<T, std::numeric_limits<T>::is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - negative
    - value
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: cxxopts::values::detail::check_signed_range
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - SignedCheck<T, std::numeric_limits<T>::is_signed>
    linkageType: ''
    returnType: void
    signature: void check_signed_range(bool negative, U value, const std::string&
      text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<R>
      Src: /src/libfuse/example/cxxopts.hpp:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: cxxopts::values::checked_negate
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - static_cast<R>
    linkageType: ''
    returnType: R
    signature: R checked_negate(T&& t, const std::string&, std::true_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: cxxopts::values::checked_negate
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - argument_incorrect_type
    linkageType: ''
    returnType: T
    signature: T checked_negate(T&&, const std::string& text, std::false_type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:549,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:551,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:553,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:556,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:565,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:566,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:578,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:582,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:586,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:590,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:596,1
    - Dst: detail::check_signed_range<T>
      Src: /src/libfuse/example/cxxopts.hpp:602,1
    - Dst: cxxopts::values::checked_negate
      Src: /src/libfuse/example/cxxopts.hpp:606,1
    - Dst: std::integral_constant<bool, is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:608,1
    - Dst: static_cast<T>
      Src: /src/libfuse/example/cxxopts.hpp:612,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 614
    functionName: cxxopts::values::integer_parser
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 16
    functionsReached:
    - detail::check_signed_range<T>
    - cxxopts::values::checked_negate
    - static_cast<US>
    - std::smatch::length
    - static_cast<T>
    - std::integral_constant<bool, is_signed>
    - argument_incorrect_type
    - std::regex_match
    linkageType: ''
    returnType: void
    signature: void integer_parser(const std::string& text, T& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: cxxopts::values::stringstream_parser
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - argument_incorrect_type
    linkageType: ''
    returnType: void
    signature: void stringstream_parser(const std::string& text, T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint8_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int8_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 645
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint16_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 652
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int16_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint32_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int32_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint64_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 680
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int64_t& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:687,1
    - Dst: std::smatch::empty
      Src: /src/libfuse/example/cxxopts.hpp:689,1
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:695,1
    - Dst: std::smatch::empty
      Src: /src/libfuse/example/cxxopts.hpp:696,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 703
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - std::regex_match
    - argument_incorrect_type
    - std::smatch::empty
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, bool& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 710
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::stringstream_parser
      Src: /src/libfuse/example/cxxopts.hpp:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - cxxopts::values::stringstream_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::eof
      Src: /src/libfuse/example/cxxopts.hpp:727,1
    - Dst: std::getline
      Src: /src/libfuse/example/cxxopts.hpp:727,1
    - Dst: cxxopts::values::parse_value
      Src: /src/libfuse/example/cxxopts.hpp:729,1
    - Dst: emplace_back
      Src: /src/libfuse/example/cxxopts.hpp:730,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 732
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 6
    functionsReached:
    - std::getline
    - std::stringstream::eof
    - emplace_back
    - cxxopts::values::parse_value
    - std::move
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::vector<T>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::parse_value
      Src: /src/libfuse/example/cxxopts.hpp:740,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - cxxopts::values::parse_value
    - std::move
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::optional<T>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<T>
      Src: /src/libfuse/example/cxxopts.hpp:764,1
    - Dst: get
      Src: /src/libfuse/example/cxxopts.hpp:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_shared<T>
    linkageType: ''
    returnType: void
    signature: void abstract_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void abstract_value(T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 774
    functionName: ~abstract_value()
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~abstract_value()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<T>
      Src: /src/libfuse/example/cxxopts.hpp:780,1
    - Dst: get
      Src: /src/libfuse/example/cxxopts.hpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - abstract_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 792
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_shared<T>
    linkageType: ''
    returnType: void
    signature: void abstract_value(const abstract_value& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_value
      Src: /src/libfuse/example/cxxopts.hpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 798
    functionName: cxxopts::values::abstract_value::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - parse_value
    linkageType: ''
    returnType: void
    signature: void parse(const std::string& text) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 804
    functionName: cxxopts::values::abstract_value::is_container
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_container() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_value
      Src: /src/libfuse/example/cxxopts.hpp:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 810
    functionName: cxxopts::values::abstract_value::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - parse_value
    linkageType: ''
    returnType: void
    signature: void parse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: cxxopts::values::abstract_value::has_default
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_default() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 822
    functionName: cxxopts::values::abstract_value::has_implicit
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_implicit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionName: cxxopts::values::abstract_value::default_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> default_value(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 838
    functionName: cxxopts::values::abstract_value::implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> implicit_value(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 845
    functionName: cxxopts::values::abstract_value::no_implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> no_implicit_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: cxxopts::values::abstract_value::get_default_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_default_value() const
  - 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: cxxopts::values::abstract_value::get_implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_implicit_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 863
    functionName: cxxopts::values::abstract_value::is_boolean
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_boolean() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 876
    functionName: "&\n      get() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T &\n      get() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<standard_value<T>>
      Src: /src/libfuse/example/cxxopts.hpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: cxxopts::values::standard_value::clone
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<standard_value<T>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 906
    functionName: ~standard_value()
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~standard_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::standard_value<bool>::set_default_and_implicit
      Src: /src/libfuse/example/cxxopts.hpp:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: cxxopts::values::standard_value<bool>::standard_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::standard_value<bool>::set_default_and_implicit
    linkageType: ''
    returnType: void
    signature: void standard_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::standard_value<bool>::set_default_and_implicit
      Src: /src/libfuse/example/cxxopts.hpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 917
    functionName: cxxopts::values::standard_value<bool>::standard_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::standard_value<bool>::set_default_and_implicit
    linkageType: ''
    returnType: void
    signature: void standard_value(bool* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<standard_value<bool>>
      Src: /src/libfuse/example/cxxopts.hpp:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 923
    functionName: cxxopts::values::standard_value<bool>::clone
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<standard_value<bool>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 934
    functionName: cxxopts::values::standard_value<bool>::set_default_and_implicit
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_default_and_implicit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:496,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:498,1
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:503,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - negative
    - u
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: operator()(bool negative, U u, const std::string& text)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - argument_incorrect_type
    - static_cast<U>
    linkageType: ''
    returnType: void
    signature: void operator()(bool negative, U u, const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: operator()(bool, U, const std::string&)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(bool, U, const std::string&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignedCheck<T, std::numeric_limits<T>::is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - negative
    - value
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: cxxopts::values::detail::check_signed_range
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - SignedCheck<T, std::numeric_limits<T>::is_signed>
    linkageType: ''
    returnType: void
    signature: void check_signed_range(bool negative, U value, const std::string&
      text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:496,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:498,1
    - Dst: static_cast<U>
      Src: /src/libfuse/example/cxxopts.hpp:503,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - negative
    - u
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: operator()(bool negative, U u, const std::string& text)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - argument_incorrect_type
    - static_cast<U>
    linkageType: ''
    returnType: void
    signature: void operator()(bool negative, U u, const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: operator()(bool, U, const std::string&)
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(bool, U, const std::string&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SignedCheck<T, std::numeric_limits<T>::is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - negative
    - value
    - ' text'
    argTypes:
    - bool
    - U
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: cxxopts::values::detail::check_signed_range
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - SignedCheck<T, std::numeric_limits<T>::is_signed>
    linkageType: ''
    returnType: void
    signature: void check_signed_range(bool negative, U value, const std::string&
      text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<R>
      Src: /src/libfuse/example/cxxopts.hpp:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: cxxopts::values::checked_negate
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 3
    functionsReached:
    - static_cast<R>
    linkageType: ''
    returnType: R
    signature: R checked_negate(T&& t, const std::string&, std::true_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: cxxopts::values::checked_negate
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 3
    functionsReached:
    - argument_incorrect_type
    linkageType: ''
    returnType: T
    signature: T checked_negate(T&&, const std::string& text, std::false_type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:549,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:551,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:553,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:556,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:565,1
    - Dst: std::smatch::length
      Src: /src/libfuse/example/cxxopts.hpp:566,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:578,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:582,1
    - Dst: static_cast<US>
      Src: /src/libfuse/example/cxxopts.hpp:586,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:590,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:596,1
    - Dst: detail::check_signed_range<T>
      Src: /src/libfuse/example/cxxopts.hpp:602,1
    - Dst: cxxopts::values::checked_negate
      Src: /src/libfuse/example/cxxopts.hpp:606,1
    - Dst: std::integral_constant<bool, is_signed>
      Src: /src/libfuse/example/cxxopts.hpp:608,1
    - Dst: static_cast<T>
      Src: /src/libfuse/example/cxxopts.hpp:612,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 614
    functionName: cxxopts::values::integer_parser
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 24
    functionsReached:
    - detail::check_signed_range<T>
    - cxxopts::values::checked_negate
    - static_cast<US>
    - std::smatch::length
    - static_cast<T>
    - std::integral_constant<bool, is_signed>
    - argument_incorrect_type
    - std::regex_match
    linkageType: ''
    returnType: void
    signature: void integer_parser(const std::string& text, T& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: cxxopts::values::stringstream_parser
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 3
    functionsReached:
    - argument_incorrect_type
    linkageType: ''
    returnType: void
    signature: void stringstream_parser(const std::string& text, T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint8_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int8_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 645
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint16_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 652
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int16_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint32_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int32_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, uint64_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::integer_parser
      Src: /src/libfuse/example/cxxopts.hpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 680
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - cxxopts::values::integer_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, int64_t& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:687,1
    - Dst: std::smatch::empty
      Src: /src/libfuse/example/cxxopts.hpp:689,1
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:695,1
    - Dst: std::smatch::empty
      Src: /src/libfuse/example/cxxopts.hpp:696,1
    - Dst: argument_incorrect_type
      Src: /src/libfuse/example/cxxopts.hpp:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 703
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - std::regex_match
    - argument_incorrect_type
    - std::smatch::empty
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, bool& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 710
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::stringstream_parser
      Src: /src/libfuse/example/cxxopts.hpp:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 7
    functionsReached:
    - cxxopts::values::stringstream_parser
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::eof
      Src: /src/libfuse/example/cxxopts.hpp:727,1
    - Dst: std::getline
      Src: /src/libfuse/example/cxxopts.hpp:727,1
    - Dst: cxxopts::values::parse_value
      Src: /src/libfuse/example/cxxopts.hpp:729,1
    - Dst: emplace_back
      Src: /src/libfuse/example/cxxopts.hpp:730,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 732
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 8
    functionsReached:
    - std::getline
    - std::stringstream::eof
    - emplace_back
    - cxxopts::values::parse_value
    - std::move
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::vector<T>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::parse_value
      Src: /src/libfuse/example/cxxopts.hpp:740,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' text'
    - ' value'
    argTypes:
    - std::string
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionName: cxxopts::values::parse_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 9
    functionsReached:
    - cxxopts::values::parse_value
    - std::move
    linkageType: ''
    returnType: void
    signature: void parse_value(const std::string& text, std::optional<T>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<T>
      Src: /src/libfuse/example/cxxopts.hpp:764,1
    - Dst: get
      Src: /src/libfuse/example/cxxopts.hpp:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_shared<T>
    linkageType: ''
    returnType: void
    signature: void abstract_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void abstract_value(T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 774
    functionName: ~abstract_value()
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~abstract_value()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<T>
      Src: /src/libfuse/example/cxxopts.hpp:780,1
    - Dst: get
      Src: /src/libfuse/example/cxxopts.hpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - abstract_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 792
    functionName: cxxopts::values::abstract_value::abstract_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_shared<T>
    linkageType: ''
    returnType: void
    signature: void abstract_value(const abstract_value& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_value
      Src: /src/libfuse/example/cxxopts.hpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 798
    functionName: cxxopts::values::abstract_value::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - parse_value
    linkageType: ''
    returnType: void
    signature: void parse(const std::string& text) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 804
    functionName: cxxopts::values::abstract_value::is_container
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_container() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_value
      Src: /src/libfuse/example/cxxopts.hpp:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 810
    functionName: cxxopts::values::abstract_value::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - parse_value
    linkageType: ''
    returnType: void
    signature: void parse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: cxxopts::values::abstract_value::has_default
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_default() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 822
    functionName: cxxopts::values::abstract_value::has_implicit
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_implicit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionName: cxxopts::values::abstract_value::default_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> default_value(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 838
    functionName: cxxopts::values::abstract_value::implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> implicit_value(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/libfuse/example/cxxopts.hpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 845
    functionName: cxxopts::values::abstract_value::no_implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - shared_from_this
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> no_implicit_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: cxxopts::values::abstract_value::get_default_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_default_value() const
  - 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: cxxopts::values::abstract_value::get_implicit_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_implicit_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 863
    functionName: cxxopts::values::abstract_value::is_boolean
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_boolean() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 876
    functionName: "&\n      get() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: "T &\n      get() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<standard_value<T>>
      Src: /src/libfuse/example/cxxopts.hpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: cxxopts::values::standard_value::clone
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<standard_value<T>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 906
    functionName: ~standard_value()
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~standard_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::standard_value<bool>::set_default_and_implicit
      Src: /src/libfuse/example/cxxopts.hpp:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: cxxopts::values::standard_value<bool>::standard_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::standard_value<bool>::set_default_and_implicit
    linkageType: ''
    returnType: void
    signature: void standard_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::standard_value<bool>::set_default_and_implicit
      Src: /src/libfuse/example/cxxopts.hpp:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 917
    functionName: cxxopts::values::standard_value<bool>::standard_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::standard_value<bool>::set_default_and_implicit
    linkageType: ''
    returnType: void
    signature: void standard_value(bool* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<standard_value<bool>>
      Src: /src/libfuse/example/cxxopts.hpp:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 923
    functionName: cxxopts::values::standard_value<bool>::clone
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<standard_value<bool>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 934
    functionName: cxxopts::values::standard_value<bool>::set_default_and_implicit
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_default_and_implicit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<values::standard_value<T>>
      Src: /src/libfuse/example/cxxopts.hpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: cxxopts::value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<values::standard_value<T>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<values::standard_value<T>>
      Src: /src/libfuse/example/cxxopts.hpp:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 950
    functionName: cxxopts::value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<values::standard_value<T>>
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> value(T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' short_'
    - ' long_'
    - ' desc'
    - val
    argTypes:
    - std::string
    - std::string
    - String
    - std::shared_ptr<const Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 970
    functionName: cxxopts::OptionDetails::OptionDetails
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OptionDetails\n    (\n      const std::string& short_,\n      const
      std::string& long_,\n      const String& desc,\n      std::shared_ptr<const
      Value> val\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_value::clone
      Src: /src/libfuse/example/cxxopts.hpp:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - OptionDetails
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 977
    functionName: cxxopts::OptionDetails::OptionDetails
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - m_value::clone
    linkageType: ''
    returnType: void
    signature: void OptionDetails(const OptionDetails& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - OptionDetails
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 979
    functionName: cxxopts::OptionDetails::OptionDetails
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionDetails(OptionDetails&& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 985
    functionName: "&\n    description() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: "String &\n    description() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: '& value() const'
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Value
    signature: Value & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/libfuse/example/cxxopts.hpp:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: cxxopts::OptionDetails::make_storage
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: std::shared_ptr<Value>
    signature: std::shared_ptr<Value> make_storage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1001
    functionName: "&\n    short_name() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n    short_name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1007
    functionName: "&\n    long_name() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n    long_name() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::OptionValue::ensure_value
      Src: /src/libfuse/example/cxxopts.hpp:1048,1
    - Dst: cxxopts::OptionValue::parse
      Src: /src/libfuse/example/cxxopts.hpp:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - details
    - ' text'
    argTypes:
    - std::shared_ptr<const OptionDetails>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1051
    functionName: cxxopts::OptionValue::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 3
    functionsReached:
    - cxxopts::OptionValue::parse
    - cxxopts::OptionValue::ensure_value
    linkageType: ''
    returnType: void
    signature: "void parse\n    (\n      std::shared_ptr<const OptionDetails> details,\n
      \     const std::string& text\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::OptionValue::ensure_value
      Src: /src/libfuse/example/cxxopts.hpp:1056,1
    - Dst: cxxopts::OptionValue::parse
      Src: /src/libfuse/example/cxxopts.hpp:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - details
    argTypes:
    - std::shared_ptr<const OptionDetails>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1059
    functionName: cxxopts::OptionValue::parse_default
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::OptionValue::parse
    - cxxopts::OptionValue::ensure_value
    linkageType: ''
    returnType: void
    signature: void parse_default(std::shared_ptr<const OptionDetails> details)
  - 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: cxxopts::OptionValue::count
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t count() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1072
    functionName: cxxopts::OptionValue::has_default
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_default() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::domain_error
      Src: /src/libfuse/example/cxxopts.hpp:1079,1
    - Dst: static_cast<const values::standard_value<T>&>
      Src: /src/libfuse/example/cxxopts.hpp:1083,1
    - Dst: dynamic_cast<const values::standard_value<T>&>
      Src: /src/libfuse/example/cxxopts.hpp:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1087
    functionName: cxxopts::OptionValue::as
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const values::standard_value<T>&>
    - dynamic_cast<const values::standard_value<T>&>
    - std::domain_error
    linkageType: ''
    returnType: T
    signature: "T &\n    as() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<const OptionDetails>::make_storage
      Src: /src/libfuse/example/cxxopts.hpp:1095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - details
    argTypes:
    - std::shared_ptr<const OptionDetails>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1097
    functionName: cxxopts::OptionValue::ensure_value
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 4
    functionsReached:
    - std::shared_ptr<const OptionDetails>::make_storage
    linkageType: ''
    returnType: void
    signature: void ensure_value(std::shared_ptr<const OptionDetails> details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1108,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_
    - value_
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1111
    functionName: cxxopts::KeyValue::KeyValue
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KeyValue(std::string key_, std::string value_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1118
    functionName: "&\n    key() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n    key() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1125
    functionName: "&\n    value() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string &\n    value() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::values::parse_value
      Src: /src/libfuse/example/cxxopts.hpp:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1128
    functionDepth: 3
    functionLinenumber: 1128
    functionLinenumberEnd: 1134
    functionName: cxxopts::KeyValue::as
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::values::parse_value
    linkageType: ''
    returnType: T
    signature: T as() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1156,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1157,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1162,1
    - Dst: auto::second::count
      Src: /src/libfuse/example/cxxopts.hpp:1164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1165
    functionName: cxxopts::ParseResult::count
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - auto::second::count
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t count(const std::string& o) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1170,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1172,1
    - Dst: option_not_present_exception
      Src: /src/libfuse/example/cxxopts.hpp:1174,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1180
    functionName: "&\n    operator[](const std::string& option) const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - option_not_present_exception
    - end
    - find
    linkageType: ''
    returnType: OptionValue
    signature: "OptionValue &\n    operator[](const std::string& option) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1186
    functionName: "&\n    arguments() const"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<KeyValue>
    signature: "std::vector<KeyValue> &\n    arguments() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1240,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1241,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1241,1
    - Dst: std::make_shared<OptionMap>
      Src: /src/libfuse/example/cxxopts.hpp:1246,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - program
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1249
    functionName: cxxopts::Options::Options
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<OptionMap>
    - end
    - std::move
    - toLocalString
    linkageType: ''
    returnType: void
    signature: void Options(std::string program, std::string help_string = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - help_text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1256
    functionName: "&\n    positional_help(std::string help_text)"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: Options
    signature: "Options &\n    positional_help(std::string help_text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - help_text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1263
    functionName: "&\n    custom_help(std::string help_text)"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: Options
    signature: "Options &\n    custom_help(std::string help_text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1270
    functionName: "&\n    show_positional_help()"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: "Options &\n    show_positional_help()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1277
    functionName: "&\n    allow_unrecognised_options()"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Options
    signature: "Options &\n    allow_unrecognised_options()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::Options::parse_positional
      Src: /src/libfuse/example/cxxopts.hpp:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: cxxopts::Options::parse_positional
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 4
    functionsReached:
    - cxxopts::Options::parse_positional
    linkageType: ''
    returnType: void
    signature: void parse_positional(Iterator begin, Iterator end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' options'
    - group
    argTypes:
    - Options
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1366
    functionName: cxxopts::OptionAdder::OptionAdder
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void OptionAdder(Options& options, std::string group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1405,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1407,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1414,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1416,1
    - Dst: arg_help::size
      Src: /src/libfuse/example/cxxopts.hpp:1419,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1419,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - HelpOptionDetails
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1434
    functionName: cxxopts::format_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - arg_help::size
    - cxxopts::toLocalString
    - size
    linkageType: ''
    returnType: String
    signature: "String format_option\n    (\n      const HelpOptionDetails& o\n    )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1448,1
    - Dst: std::begin
      Src: /src/libfuse/example/cxxopts.hpp:1453,1
    - Dst: std::end
      Src: /src/libfuse/example/cxxopts.hpp:1459,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1475,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1476,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1477,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1483,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1484,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1485,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1500,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - ' o'
    - start
    - width
    argTypes:
    - HelpOptionDetails
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1503
    functionName: cxxopts::format_description
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::toLocalString
    - std::begin
    - cxxopts::stringAppend
    - std::end
    linkageType: ''
    returnType: String
    signature: "String format_description\n    (\n      const HelpOptionDetails& o,\n
      \     size_t start,\n      size_t width\n    )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1405,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1407,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1414,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1416,1
    - Dst: arg_help::size
      Src: /src/libfuse/example/cxxopts.hpp:1419,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1419,1
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - HelpOptionDetails
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1434
    functionName: cxxopts::format_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - arg_help::size
    - cxxopts::toLocalString
    - size
    linkageType: ''
    returnType: String
    signature: "String format_option\n    (\n      const HelpOptionDetails& o\n    )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1448,1
    - Dst: std::begin
      Src: /src/libfuse/example/cxxopts.hpp:1453,1
    - Dst: std::end
      Src: /src/libfuse/example/cxxopts.hpp:1459,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1475,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1476,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1477,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1483,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1484,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1485,1
    - Dst: cxxopts::stringAppend
      Src: /src/libfuse/example/cxxopts.hpp:1500,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - ' o'
    - start
    - width
    argTypes:
    - HelpOptionDetails
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1503
    functionName: cxxopts::format_description
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - cxxopts::toLocalString
    - std::begin
    - cxxopts::stringAppend
    - std::end
    linkageType: ''
    returnType: String
    signature: "String format_description\n    (\n      const HelpOptionDetails& o,\n
      \     size_t start,\n      size_t width\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1517,1
    - Dst: begin
      Src: /src/libfuse/example/cxxopts.hpp:1518,1
    - Dst: cxxopts::ParseResult::parse
      Src: /src/libfuse/example/cxxopts.hpp:1521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - options
    - positional
    - allow_unrecognised
    - ' argc'
    - ' argv'
    argTypes:
    - "std::shared_ptr<\n    std::unordered_map<std::string, std::shared_ptr<OptionDetails>>\n
      \ >"
    - std::vector<std::string>
    - bool
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1506
    functionDepth: 5
    functionLinenumber: 1506
    functionLinenumberEnd: 1522
    functionName: cxxopts::ParseResult::ParseResult
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - begin
    - cxxopts::ParseResult::parse
    linkageType: ''
    returnType: void
    signature: "void ParseResult::ParseResult\n(\n  const std::shared_ptr<\n    std::unordered_map<std::string,
      std::shared_ptr<OptionDetails>>\n  > options,\n  std::vector<std::string> positional,\n
      \ bool allow_unrecognised,\n  int& argc, char**& argv\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OptionAdder
      Src: /src/libfuse/example/cxxopts.hpp:1528,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1529
    functionName: cxxopts::Options::add_options
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - OptionAdder
    - std::move
    linkageType: ''
    returnType: OptionAdder
    signature: OptionAdder Options::add_options(std::string group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:1542,1
    - Dst: c_str
      Src: /src/libfuse/example/cxxopts.hpp:1542,1
    - Dst: std::match_results::empty
      Src: /src/libfuse/example/cxxopts.hpp:1544,1
    - Dst: invalid_option_format_error
      Src: /src/libfuse/example/cxxopts.hpp:1546,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1552,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1552,1
    - Dst: invalid_option_format_error
      Src: /src/libfuse/example/cxxopts.hpp:1554,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1555,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1555,1
    - Dst: invalid_option_format_error
      Src: /src/libfuse/example/cxxopts.hpp:1557,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1566,1
    - Dst: std::make_tuple
      Src: /src/libfuse/example/cxxopts.hpp:1568,1
    - Dst: str
      Src: /src/libfuse/example/cxxopts.hpp:1568,1
    - Dst: str
      Src: /src/libfuse/example/cxxopts.hpp:1568,1
    - Dst: std::make_tuple
      Src: /src/libfuse/example/cxxopts.hpp:1572,1
    - Dst: str
      Src: /src/libfuse/example/cxxopts.hpp:1572,1
    - Dst: str
      Src: /src/libfuse/example/cxxopts.hpp:1572,1
    - Dst: add_option
      Src: /src/libfuse/example/cxxopts.hpp:1576,1
    - Dst: std::get<0>
      Src: /src/libfuse/example/cxxopts.hpp:1579,1
    - Dst: std::get<1>
      Src: /src/libfuse/example/cxxopts.hpp:1580,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1583,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ' opts'
    - ' desc'
    - value
    - arg_help
    argTypes:
    - std::string
    - std::string
    - std::shared_ptr<const Value>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1587
    functionName: "&\nOptionAdder::operator()\n(\n  const std::string& opts,\n  const
      std::string& desc,\n  std::shared_ptr<const Value> value,\n  std::string arg_help\n)"
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::match_results::empty
    - c_str
    - std::make_tuple
    - str
    - std::get<1>
    - add_option
    - invalid_option_format_error
    - std::regex_match
    - length
    - std::get<0>
    - std::move
    linkageType: ''
    returnType: OptionAdder
    signature: "OptionAdder &\nOptionAdder::operator()\n(\n  const std::string& opts,\n
      \ const std::string& desc,\n  std::shared_ptr<const Value> value,\n  std::string
      arg_help\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::ParseResult::parse_default
      Src: /src/libfuse/example/cxxopts.hpp:1593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - details
    argTypes:
    - std::shared_ptr<OptionDetails>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1594
    functionName: cxxopts::ParseResult::parse_default
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 3
    functionsReached:
    - cxxopts::ParseResult::parse_default
    linkageType: ''
    returnType: void
    signature: void ParseResult::parse_default(std::shared_ptr<OptionDetails> details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::ParseResult::parse
      Src: /src/libfuse/example/cxxopts.hpp:1606,1
    - Dst: emplace_back
      Src: /src/libfuse/example/cxxopts.hpp:1608,1
    - Dst: std::shared_ptr<OptionDetails>::long_name
      Src: /src/libfuse/example/cxxopts.hpp:1608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - ' arg'
    argTypes:
    - std::shared_ptr<OptionDetails>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1596
    functionDepth: 5
    functionLinenumber: 1596
    functionLinenumberEnd: 1609
    functionName: cxxopts::ParseResult::parse_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 3
    functionsReached:
    - emplace_back
    - std::shared_ptr<OptionDetails>::long_name
    - cxxopts::ParseResult::parse
    linkageType: ''
    returnType: void
    signature: "void ParseResult::parse_option\n(\n  std::shared_ptr<OptionDetails>
      value,\n  const std::string& /*name*/,\n  const std::string& arg\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<OptionDetails>::value
      Src: /src/libfuse/example/cxxopts.hpp:1624,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1626,1
    - Dst: std::shared_ptr<OptionDetails>::value
      Src: /src/libfuse/example/cxxopts.hpp:1626,1
    - Dst: missing_argument_exception
      Src: /src/libfuse/example/cxxopts.hpp:1630,1
    - Dst: std::shared_ptr<OptionDetails>::value
      Src: /src/libfuse/example/cxxopts.hpp:1635,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1637,1
    - Dst: std::shared_ptr<OptionDetails>::value
      Src: /src/libfuse/example/cxxopts.hpp:1637,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - argc
    - argv
    - ' current'
    - value
    - ' name'
    argTypes:
    - int
    - char*[]
    - int
    - std::shared_ptr<OptionDetails>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1645
    functionName: cxxopts::ParseResult::checked_parse_arg
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - cxxopts::ParseResult::parse_option
    - std::shared_ptr<OptionDetails>::value
    - missing_argument_exception
    linkageType: ''
    returnType: void
    signature: "void ParseResult::checked_parse_arg\n(\n  int argc,\n  char* argv[],\n
      \ int& current,\n  std::shared_ptr<OptionDetails> value,\n  const std::string&
      name\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1651,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1653,1
    - Dst: option_not_exists_exception
      Src: /src/libfuse/example/cxxopts.hpp:1655,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' option'
    - ' arg'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1647
    functionDepth: 2
    functionLinenumber: 1647
    functionLinenumberEnd: 1659
    functionName: cxxopts::ParseResult::add_to_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - option_not_exists_exception
    - end
    - find
    - cxxopts::ParseResult::parse_option
    linkageType: ''
    returnType: void
    signature: void ParseResult::add_to_option(const std::string& option, const std::string&
      arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1665,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1667,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1668,1
    - Dst: auto::second::value
      Src: /src/libfuse/example/cxxopts.hpp:1671,1
    - Dst: cxxopts::ParseResult::count
      Src: /src/libfuse/example/cxxopts.hpp:1673,1
    - Dst: cxxopts::ParseResult::add_to_option
      Src: /src/libfuse/example/cxxopts.hpp:1675,1
    - Dst: cxxopts::ParseResult::add_to_option
      Src: /src/libfuse/example/cxxopts.hpp:1687,1
    - Dst: option_not_exists_exception
      Src: /src/libfuse/example/cxxopts.hpp:1693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - a
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1661
    functionDepth: 3
    functionLinenumber: 1661
    functionLinenumberEnd: 1698
    functionName: cxxopts::ParseResult::consume_positional
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - end
    - option_not_exists_exception
    - find
    - cxxopts::ParseResult::add_to_option
    - cxxopts::ParseResult::count
    - auto::second::value
    linkageType: ''
    returnType: bool
    signature: bool ParseResult::consume_positional(std::string a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::Options::parse_positional
      Src: /src/libfuse/example/cxxopts.hpp:1704,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1705
    functionName: cxxopts::Options::parse_positional
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - std::move
    - cxxopts::Options::parse_positional
    linkageType: ''
    returnType: void
    signature: void Options::parse_positional(std::string option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1711,1
    - Dst: begin
      Src: /src/libfuse/example/cxxopts.hpp:1712,1
    - Dst: insert
      Src: /src/libfuse/example/cxxopts.hpp:1714,1
    - Dst: begin
      Src: /src/libfuse/example/cxxopts.hpp:1714,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1715
    functionName: cxxopts::Options::parse_positional
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 5
    functionsReached:
    - end
    - insert
    - std::move
    - begin
    linkageType: ''
    returnType: void
    signature: void Options::parse_positional(std::vector<std::string> options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::Options::parse_positional
      Src: /src/libfuse/example/cxxopts.hpp:1721,1
    - Dst: std::vector<std::string>
      Src: /src/libfuse/example/cxxopts.hpp:1721,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - options
    argTypes:
    - std::initializer_list<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1722
    functionName: cxxopts::Options::parse_positional
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 6
    functionsReached:
    - std::move
    - cxxopts::Options::parse_positional
    - std::vector<std::string>
    linkageType: ''
    returnType: void
    signature: void Options::parse_positional(std::initializer_list<std::string> options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' argc'
    - ' argv'
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1730
    functionName: cxxopts::Options::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParseResult
    signature: ParseResult Options::parse(int& argc, char**& argv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/cxxopts.hpp:1744,1
    - Dst: std::regex_match
      Src: /src/libfuse/example/cxxopts.hpp:1752,1
    - Dst: std::match_results::empty
      Src: /src/libfuse/example/cxxopts.hpp:1754,1
    - Dst: option_syntax_exception
      Src: /src/libfuse/example/cxxopts.hpp:1761,1
    - Dst: cxxopts::ParseResult::consume_positional
      Src: /src/libfuse/example/cxxopts.hpp:1767,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1780,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1784,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1787,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1789,1
    - Dst: option_not_exists_exception
      Src: /src/libfuse/example/cxxopts.hpp:1798,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1804,1
    - Dst: cxxopts::ParseResult::checked_parse_arg
      Src: /src/libfuse/example/cxxopts.hpp:1807,1
    - Dst: auto::value
      Src: /src/libfuse/example/cxxopts.hpp:1809,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1811,1
    - Dst: auto::value
      Src: /src/libfuse/example/cxxopts.hpp:1811,1
    - Dst: option_requires_argument_exception
      Src: /src/libfuse/example/cxxopts.hpp:1816,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1820,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1824,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1826,1
    - Dst: option_not_exists_exception
      Src: /src/libfuse/example/cxxopts.hpp:1839,1
    - Dst: length
      Src: /src/libfuse/example/cxxopts.hpp:1846,1
    - Dst: cxxopts::ParseResult::parse_option
      Src: /src/libfuse/example/cxxopts.hpp:1850,1
    - Dst: cxxopts::ParseResult::checked_parse_arg
      Src: /src/libfuse/example/cxxopts.hpp:1855,1
    - Dst: value
      Src: /src/libfuse/example/cxxopts.hpp:1867,1
    - Dst: auto::has_default
      Src: /src/libfuse/example/cxxopts.hpp:1871,1
    - Dst: cxxopts::ParseResult::count
      Src: /src/libfuse/example/cxxopts.hpp:1871,1
    - Dst: has_default
      Src: /src/libfuse/example/cxxopts.hpp:1871,1
    - Dst: cxxopts::ParseResult::parse_default
      Src: /src/libfuse/example/cxxopts.hpp:1872,1
    - Dst: cxxopts::ParseResult::consume_positional
      Src: /src/libfuse/example/cxxopts.hpp:1880,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 77
    argCount: 2
    argNames:
    - ' argc'
    - ' argv'
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1732
    functionDepth: 4
    functionLinenumber: 1732
    functionLinenumberEnd: 1896
    functionName: cxxopts::ParseResult::parse
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 4
    functionsReached:
    - cxxopts::ParseResult::parse_default
    - cxxopts::ParseResult::consume_positional
    - cxxopts::ParseResult::parse_option
    - value
    - find
    - auto::has_default
    - length
    - size
    - std::match_results::empty
    - auto::value
    - end
    - option_requires_argument_exception
    - option_not_exists_exception
    - cxxopts::ParseResult::checked_parse_arg
    - strcmp
    - has_default
    - std::regex_match
    - cxxopts::ParseResult::count
    - option_syntax_exception
    linkageType: ''
    returnType: void
    signature: void ParseResult::parse(int& argc, char**& argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1910,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1910,1
    - Dst: std::make_shared<OptionDetails>
      Src: /src/libfuse/example/cxxopts.hpp:1911,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1913,1
    - Dst: cxxopts::Options::add_one_option
      Src: /src/libfuse/example/cxxopts.hpp:1915,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:1918,1
    - Dst: cxxopts::Options::add_one_option
      Src: /src/libfuse/example/cxxopts.hpp:1920,1
    - Dst: options::emplace_back
      Src: /src/libfuse/example/cxxopts.hpp:1926,1
    - Dst: std::shared_ptr<const Value>::has_default
      Src: /src/libfuse/example/cxxopts.hpp:1927,1
    - Dst: std::shared_ptr<const Value>::get_default_value
      Src: /src/libfuse/example/cxxopts.hpp:1927,1
    - Dst: std::shared_ptr<const Value>::has_implicit
      Src: /src/libfuse/example/cxxopts.hpp:1928,1
    - Dst: std::shared_ptr<const Value>::get_implicit_value
      Src: /src/libfuse/example/cxxopts.hpp:1928,1
    - Dst: std::move
      Src: /src/libfuse/example/cxxopts.hpp:1929,1
    - Dst: std::shared_ptr<const Value>::is_container
      Src: /src/libfuse/example/cxxopts.hpp:1930,1
    - Dst: std::shared_ptr<const Value>::is_boolean
      Src: /src/libfuse/example/cxxopts.hpp:1931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - ' group'
    - ' s'
    - ' l'
    - desc
    - value
    - arg_help
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - std::shared_ptr<const Value>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1898
    functionDepth: 1
    functionLinenumber: 1898
    functionLinenumberEnd: 1932
    functionName: cxxopts::Options::add_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr<const Value>::get_default_value
    - options::emplace_back
    - std::make_shared<OptionDetails>
    - toLocalString
    - std::shared_ptr<const Value>::is_boolean
    - std::shared_ptr<const Value>::has_implicit
    - std::shared_ptr<const Value>::get_implicit_value
    - std::move
    - std::shared_ptr<const Value>::is_container
    - std::shared_ptr<const Value>::has_default
    - cxxopts::Options::add_one_option
    - size
    linkageType: ''
    returnType: void
    signature: "void Options::add_option\n(\n  const std::string& group,\n  const
      std::string& s,\n  const std::string& l,\n  std::string desc,\n  std::shared_ptr<const
      Value> value,\n  std::string arg_help\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/libfuse/example/cxxopts.hpp:1942,1
    - Dst: option_exists_error
      Src: /src/libfuse/example/cxxopts.hpp:1946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' option'
    - details
    argTypes:
    - std::string
    - std::shared_ptr<OptionDetails>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1948
    functionName: cxxopts::Options::add_one_option
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - emplace
    - option_exists_error
    linkageType: ''
    returnType: void
    signature: "void Options::add_one_option\n(\n  const std::string& option,\n  std::shared_ptr<OptionDetails>
      details\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1956,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1957,1
    - Dst: empty
      Src: /src/libfuse/example/cxxopts.hpp:1968,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:1970,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1975,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1975,1
    - Dst: format_option
      Src: /src/libfuse/example/cxxopts.hpp:1981,1
    - Dst: stringLength
      Src: /src/libfuse/example/cxxopts.hpp:1982,1
    - Dst: OptionHelp::push_back
      Src: /src/libfuse/example/cxxopts.hpp:1983,1
    - Dst: std::make_pair
      Src: /src/libfuse/example/cxxopts.hpp:1983,1
    - Dst: String
      Src: /src/libfuse/example/cxxopts.hpp:1983,1
    - Dst: static_cast<size_t>
      Src: /src/libfuse/example/cxxopts.hpp:1986,1
    - Dst: OptionHelp::begin
      Src: /src/libfuse/example/cxxopts.hpp:1991,1
    - Dst: find
      Src: /src/libfuse/example/cxxopts.hpp:1994,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:1994,1
    - Dst: format_description
      Src: /src/libfuse/example/cxxopts.hpp:2000,1
    - Dst: stringLength
      Src: /src/libfuse/example/cxxopts.hpp:2003,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:2006,1
    - Dst: std::string
      Src: /src/libfuse/example/cxxopts.hpp:2006,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:2010,1
    - Dst: std::string
      Src: /src/libfuse/example/cxxopts.hpp:2010,1
    - Dst: stringLength
      Src: /src/libfuse/example/cxxopts.hpp:2011,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 2021
    functionName: cxxopts::Options::help_one_group
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - String
    - end
    - OptionHelp::push_back
    - static_cast<size_t>
    - toLocalString
    - find
    - std::string
    - empty
    - format_description
    - OptionHelp::begin
    - stringLength
    - std::make_pair
    - format_option
    linkageType: ''
    returnType: String
    signature: String Options::help_one_group(const std::string& g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2031,1
    - Dst: cxxopts::Options::help_one_group
      Src: /src/libfuse/example/cxxopts.hpp:2033,1
    - Dst: empty
      Src: /src/libfuse/example/cxxopts.hpp:2034,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2039,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' result'
    - ' print_groups'
    argTypes:
    - String
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2044
    functionName: cxxopts::Options::generate_group_help
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 2
    functionsReached:
    - empty
    - cxxopts::Options::help_one_group
    - size
    linkageType: ''
    returnType: void
    signature: "void Options::generate_group_help\n(\n  String& result,\n  const std::vector<std::string>&
      print_groups\n) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libfuse/example/cxxopts.hpp:2051,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2051,1
    - Dst: std::vector::push_back
      Src: /src/libfuse/example/cxxopts.hpp:2055,1
    - Dst: cxxopts::Options::generate_group_help
      Src: /src/libfuse/example/cxxopts.hpp:2058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2046
    functionDepth: 2
    functionLinenumber: 2046
    functionLinenumberEnd: 2059
    functionName: cxxopts::Options::generate_all_groups_help
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - cxxopts::Options::generate_group_help
    - std::vector::push_back
    - size
    linkageType: ''
    returnType: void
    signature: void Options::generate_all_groups_help(String& result) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:2066,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:2066,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2068,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2068,1
    - Dst: toLocalString
      Src: /src/libfuse/example/cxxopts.hpp:2069,1
    - Dst: size
      Src: /src/libfuse/example/cxxopts.hpp:2074,1
    - Dst: cxxopts::Options::generate_all_groups_help
      Src: /src/libfuse/example/cxxopts.hpp:2076,1
    - Dst: cxxopts::Options::generate_group_help
      Src: /src/libfuse/example/cxxopts.hpp:2080,1
    - Dst: toUTF8String
      Src: /src/libfuse/example/cxxopts.hpp:2083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' help_groups'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2061
    functionDepth: 3
    functionLinenumber: 2061
    functionLinenumberEnd: 2084
    functionName: cxxopts::Options::help
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - toUTF8String
    - toLocalString
    - cxxopts::Options::generate_all_groups_help
    - cxxopts::Options::generate_group_help
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Options::help(const std::vector<std::string>& help_groups)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/libfuse/example/cxxopts.hpp:2092,1
    - Dst: begin
      Src: /src/libfuse/example/cxxopts.hpp:2093,1
    - Dst: end
      Src: /src/libfuse/example/cxxopts.hpp:2094,1
    - Dst: std::back_inserter
      Src: /src/libfuse/example/cxxopts.hpp:2095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2103
    functionName: cxxopts::Options::groups
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - std::back_inserter
    - std::transform
    - end
    - begin
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Options::groups() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/libfuse/example/cxxopts.hpp:2109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2110
    functionName: '&

      Options::group_help(const std::string& group) const'
    functionSourceFile: /src/libfuse/example/cxxopts.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: HelpGroupDetails
    signature: 'HelpGroupDetails &

      Options::group_help(const std::string& group) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: OPTION
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTION(t, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - cfg
    argTypes:
    - struct fuse_conn_info*
    - struct fuse_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: xmp_init
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *xmp_init(struct fuse_conn_info *conn, struct fuse_config *cfg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/invalidate_path.c:86,1
    - Dst: strcmp
      Src: /src/libfuse/example/invalidate_path.c:90,1
    - Dst: strlen
      Src: /src/libfuse/example/invalidate_path.c:94,1
    - Dst: strcmp
      Src: /src/libfuse/example/invalidate_path.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: xmp_getattr
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int xmp_getattr(const char *path,\n\t\tstruct stat *stbuf, struct
      fuse_file_info* fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/invalidate_path.c:113,1
    - Dst: xmp_getattr
      Src: /src/libfuse/example/invalidate_path.c:119,1
    - Dst: filler
      Src: /src/libfuse/example/invalidate_path.c:120,1
    - Dst: xmp_getattr
      Src: /src/libfuse/example/invalidate_path.c:121,1
    - Dst: filler
      Src: /src/libfuse/example/invalidate_path.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 6
    argNames:
    - path
    - buf
    - filler
    - offset
    - fi
    - flags
    argTypes:
    - char*
    - void*
    - fuse_fill_dir_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: xmp_readdir
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 0
    functionsReached:
    - strcmp
    - filler
    - xmp_getattr
    linkageType: ''
    returnType: int
    signature: "int xmp_readdir(const char *path, void *buf, fuse_fill_dir_t filler,\n\t\toff_t
      offset, struct fuse_file_info *fi,\n\t\tenum fuse_readdir_flags flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: xmp_open
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xmp_open(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/invalidate_path.c:139,1
    - Dst: strlen
      Src: /src/libfuse/example/invalidate_path.c:140,1
    - Dst: memcpy
      Src: /src/libfuse/example/invalidate_path.c:144,1
    - Dst: assert
      Src: /src/libfuse/example/invalidate_path.c:147,1
    - Dst: strcmp
      Src: /src/libfuse/example/invalidate_path.c:147,1
    - Dst: memset
      Src: /src/libfuse/example/invalidate_path.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts:
    - condition: (strcmp(path, "/" GROW_FILE_NAME) == 0)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/libfuse/example/invalidate_path.c
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: xmp_read
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - memset
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int xmp_read(const char *path, char *buf, size_t size, off_t offset,\n\t\tstruct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libfuse/example/invalidate_path.c:168,1
    - Dst: localtime
      Src: /src/libfuse/example/invalidate_path.c:169,1
    - Dst: assert
      Src: /src/libfuse/example/invalidate_path.c:170,1
    - Dst: strftime
      Src: /src/libfuse/example/invalidate_path.c:172,1
    - Dst: assert
      Src: /src/libfuse/example/invalidate_path.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (time_file_size != 0)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/libfuse/example/invalidate_path.c
    - condition: (now != NULL)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/libfuse/example/invalidate_path.c
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: update_fs
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 4
    functionsReached:
    - localtime
    - strftime
    - assert
    - time
    linkageType: ''
    returnType: void
    signature: void update_fs(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_invalidate_path
      Src: /src/libfuse/example/invalidate_path.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fuse
    - path
    argTypes:
    - struct fuse*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 6
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: invalidate
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 0
    functionsReached:
    - fuse_invalidate_path
    linkageType: ''
    returnType: int
    signature: int invalidate(struct fuse *fuse, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_fs
      Src: /src/libfuse/example/invalidate_path.c:192,1
    - Dst: assert
      Src: /src/libfuse/example/invalidate_path.c:194,1
    - Dst: invalidate
      Src: /src/libfuse/example/invalidate_path.c:194,1
    - Dst: assert
      Src: /src/libfuse/example/invalidate_path.c:195,1
    - Dst: invalidate
      Src: /src/libfuse/example/invalidate_path.c:195,1
    - Dst: sleep
      Src: /src/libfuse/example/invalidate_path.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (invalidate(fuse, "/" TIME_FILE_NAME) == 0)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/libfuse/example/invalidate_path.c
    - condition: (invalidate(fuse, "/" GROW_FILE_NAME) == 0)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/libfuse/example/invalidate_path.c
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 7
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: update_fs_loop
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 0
    functionsReached:
    - invalidate
    - sleep
    - update_fs
    - assert
    linkageType: ''
    returnType: void
    signature: void * update_fs_loop(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/example/invalidate_path.c:204,1
    - Dst: printf
      Src: /src/libfuse/example/invalidate_path.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: show_help
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_help(const char *progname)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/invalidate_path.c:212,1
    - Dst: update_fs
      Src: /src/libfuse/example/invalidate_path.c:219,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/example/invalidate_path.c:221,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/example/invalidate_path.c:224,1
    - Dst: printf
      Src: /src/libfuse/example/invalidate_path.c:228,1
    - Dst: fuse_pkgversion
      Src: /src/libfuse/example/invalidate_path.c:228,1
    - Dst: fuse_lowlevel_version
      Src: /src/libfuse/example/invalidate_path.c:229,1
    - Dst: show_help
      Src: /src/libfuse/example/invalidate_path.c:233,1
    - Dst: fuse_cmdline_help
      Src: /src/libfuse/example/invalidate_path.c:234,1
    - Dst: fuse_lib_help
      Src: /src/libfuse/example/invalidate_path.c:235,1
    - Dst: fprintf
      Src: /src/libfuse/example/invalidate_path.c:239,1
    - Dst: fuse_new
      Src: /src/libfuse/example/invalidate_path.c:244,1
    - Dst: fuse_mount
      Src: /src/libfuse/example/invalidate_path.c:250,1
    - Dst: fuse_daemonize
      Src: /src/libfuse/example/invalidate_path.c:255,1
    - Dst: pthread_create
      Src: /src/libfuse/example/invalidate_path.c:261,1
    - Dst: fprintf
      Src: /src/libfuse/example/invalidate_path.c:263,1
    - Dst: strerror
      Src: /src/libfuse/example/invalidate_path.c:263,1
    - Dst: fuse_get_session
      Src: /src/libfuse/example/invalidate_path.c:267,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/example/invalidate_path.c:268,1
    - Dst: fuse_loop
      Src: /src/libfuse/example/invalidate_path.c:274,1
    - Dst: fuse_loop_mt
      Src: /src/libfuse/example/invalidate_path.c:278,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/example/invalidate_path.c:283,1
    - Dst: fuse_unmount
      Src: /src/libfuse/example/invalidate_path.c:285,1
    - Dst: fuse_destroy
      Src: /src/libfuse/example/invalidate_path.c:287,1
    - Dst: free
      Src: /src/libfuse/example/invalidate_path.c:289,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/invalidate_path.c:290,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 211
    functionDepth: 13
    functionLinenumber: 211
    functionLinenumberEnd: 292
    functionName: main
    functionSourceFile: /src/libfuse/example/invalidate_path.c
    functionUses: 7
    functionsReached:
    - fuse_unmount
    - fuse_destroy
    - fuse_daemonize
    - FUSE_ARGS_INIT
    - fuse_lib_help
    - pthread_create
    - update_fs
    - fuse_opt_free_args
    - fuse_parse_cmdline
    - show_help
    - fuse_lowlevel_version
    - fuse_set_signal_handlers
    - fuse_remove_signal_handlers
    - fuse_new
    - fuse_opt_parse
    - fuse_mount
    - strerror
    - fuse_cmdline_help
    - fprintf
    - fuse_loop
    - fuse_get_session
    - fuse_loop_mt
    - free
    - fuse_pkgversion
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/null.c:41,1
    - Dst: getuid
      Src: /src/libfuse/example/null.c:46,1
    - Dst: getgid
      Src: /src/libfuse/example/null.c:47,1
    - Dst: time
      Src: /src/libfuse/example/null.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: null_getattr
    functionSourceFile: /src/libfuse/example/null.c
    functionUses: 0
    functionsReached:
    - getuid
    - strcmp
    - getgid
    - time
    linkageType: ''
    returnType: int
    signature: "int null_getattr(const char *path, struct stat *stbuf,\n\t\t\tstruct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/null.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - size
    - fi
    argTypes:
    - char*
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: null_truncate
    functionSourceFile: /src/libfuse/example/null.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int null_truncate(const char *path, off_t size,\n\t\t\t struct fuse_file_info
      *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/null.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: null_open
    functionSourceFile: /src/libfuse/example/null.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int null_open(const char *path, struct fuse_file_info *fi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/null.c:84,1
    - Dst: memset
      Src: /src/libfuse/example/null.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: null_read
    functionSourceFile: /src/libfuse/example/null.c
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int null_read(const char *path, char *buf, size_t size,\n\t\t     off_t
      offset, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/null.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: null_write
    functionSourceFile: /src/libfuse/example/null.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int null_write(const char *path, const char *buf, size_t size,\n\t\t
      \     off_t offset, struct fuse_file_info *fi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/null.c:117,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/example/null.c:121,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/null.c:123,1
    - Dst: fprintf
      Src: /src/libfuse/example/null.c:126,1
    - Dst: stat
      Src: /src/libfuse/example/null.c:130,1
    - Dst: fprintf
      Src: /src/libfuse/example/null.c:131,1
    - Dst: strerror
      Src: /src/libfuse/example/null.c:132,1
    - Dst: free
      Src: /src/libfuse/example/null.c:133,1
    - Dst: free
      Src: /src/libfuse/example/null.c:136,1
    - Dst: S_ISREG
      Src: /src/libfuse/example/null.c:137,1
    - Dst: fprintf
      Src: /src/libfuse/example/null.c:138,1
    - Dst: fuse_main
      Src: /src/libfuse/example/null.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/libfuse/example/null.c
    functionUses: 8
    functionsReached:
    - strerror
    - fuse_opt_free_args
    - stat
    - fprintf
    - fuse_parse_cmdline
    - free
    - fuse_main
    - FUSE_ARGS_INIT
    - S_ISREG
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libfuse/example/cuse_client.c:66,1
    - Dst: fprintf
      Src: /src/libfuse/example/cuse_client.c:68,1
    - Dst: ioctl
      Src: /src/libfuse/example/cuse_client.c:74,1
    - Dst: fwrite
      Src: /src/libfuse/example/cuse_client.c:76,1
    - Dst: fread
      Src: /src/libfuse/example/cuse_client.c:78,1
    - Dst: fprintf
      Src: /src/libfuse/example/cuse_client.c:79,1
    - Dst: ioctl
      Src: /src/libfuse/example/cuse_client.c:80,1
    - Dst: perror
      Src: /src/libfuse/example/cuse_client.c:87,1
    - Dst: free
      Src: /src/libfuse/example/cuse_client.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - fd
    - is_read
    - size
    - offset
    - prev_size
    - new_size
    argTypes:
    - int
    - int
    - size_t
    - off_t
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 91
    functionName: do_rw
    functionSourceFile: /src/libfuse/example/cuse_client.c
    functionUses: 1
    functionsReached:
    - perror
    - fwrite
    - fprintf
    - calloc
    - free
    - ioctl
    - fread
    linkageType: ''
    returnType: int
    signature: "int do_rw(int fd, int is_read, size_t size, off_t offset,\n\t\t size_t
      *prev_size, size_t *new_size)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libfuse/example/cuse_client.c:103,1
    - Dst: perror
      Src: /src/libfuse/example/cuse_client.c:105,1
    - Dst: tolower
      Src: /src/libfuse/example/cuse_client.c:109,1
    - Dst: strtoul
      Src: /src/libfuse/example/cuse_client.c:115,1
    - Dst: ioctl
      Src: /src/libfuse/example/cuse_client.c:123,1
    - Dst: perror
      Src: /src/libfuse/example/cuse_client.c:124,1
    - Dst: printf
      Src: /src/libfuse/example/cuse_client.c:127,1
    - Dst: ioctl
      Src: /src/libfuse/example/cuse_client.c:130,1
    - Dst: perror
      Src: /src/libfuse/example/cuse_client.c:131,1
    - Dst: close
      Src: /src/libfuse/example/cuse_client.c:135,1
    - Dst: do_rw
      Src: /src/libfuse/example/cuse_client.c:140,1
    - Dst: fprintf
      Src: /src/libfuse/example/cuse_client.c:144,1
    - Dst: close
      Src: /src/libfuse/example/cuse_client.c:146,1
    - Dst: fprintf
      Src: /src/libfuse/example/cuse_client.c:151,1
    - Dst: close
      Src: /src/libfuse/example/cuse_client.c:155,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/libfuse/example/cuse_client.c
    functionUses: 8
    functionsReached:
    - perror
    - do_rw
    - open
    - ioctl
    - fprintf
    - close
    - tolower
    - strtoul
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: OPTION
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTION(t, p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ino
    - stbuf
    argTypes:
    - fuse_ino_t
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 150
    functionName: tfs_stat
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tfs_stat(fuse_ino_t ino, struct stat *stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userdata
    - conn
    argTypes:
    - void*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: tfs_init
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tfs_init(void *userdata, struct fuse_conn_info *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/notify_inval_entry.c:162,1
    - Dst: strcmp
      Src: /src/libfuse/example/notify_inval_entry.c:166,1
    - Dst: tfs_stat
      Src: /src/libfuse/example/notify_inval_entry.c:174,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/notify_inval_entry.c:176,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_inval_entry.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 159
    functionDepth: 7
    functionLinenumber: 159
    functionLinenumberEnd: 181
    functionName: tfs_lookup
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - tfs_stat
    - fuse_reply_err
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: "void tfs_lookup(fuse_req_t req, fuse_ino_t parent,\n                       const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/example/notify_inval_entry.c:189,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/example/notify_inval_entry.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - nlookup
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - uint64_t
    assertStmts:
    - condition: (ino == FUSE_ROOT_ID)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/libfuse/example/notify_inval_entry.c
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: tfs_forget
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 0
    functionsReached:
    - fuse_reply_none
    - assert
    linkageType: ''
    returnType: void
    signature: "void tfs_forget (fuse_req_t req, fuse_ino_t ino,\n                        uint64_t
      nlookup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/notify_inval_entry.c:199,1
    - Dst: tfs_stat
      Src: /src/libfuse/example/notify_inval_entry.c:200,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_inval_entry.c:201,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/example/notify_inval_entry.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 7
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: tfs_getattr
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 1
    functionsReached:
    - tfs_stat
    - memset
    - fuse_reply_attr
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void tfs_getattr(fuse_req_t req, fuse_ino_t ino,\n                        struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/notify_inval_entry.c:215,1
    - Dst: realloc
      Src: /src/libfuse/example/notify_inval_entry.c:216,1
    - Dst: memset
      Src: /src/libfuse/example/notify_inval_entry.c:217,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/notify_inval_entry.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - req
    - b
    - name
    - ino
    argTypes:
    - fuse_req_t
    - struct dirbuf*
    - char*
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: dirbuf_add
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 3
    functionsReached:
    - fuse_add_direntry
    - memset
    - realloc
    linkageType: ''
    returnType: void
    signature: "void dirbuf_add(fuse_req_t req, struct dirbuf *b, const char *name,\n
      \                      fuse_ino_t ino)"
  - 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: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: min
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(x, y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/notify_inval_entry.c:228,1
    - Dst: min
      Src: /src/libfuse/example/notify_inval_entry.c:229,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/notify_inval_entry.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - req
    - buf
    - bufsize
    - 'off'
    - maxsize
    argTypes:
    - fuse_req_t
    - char*
    - size_t
    - off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 7
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: reply_buf_limited
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 6
    functionsReached:
    - fuse_reply_buf
    - min
    linkageType: ''
    returnType: int
    signature: "int reply_buf_limited(fuse_req_t req, const char *buf, size_t bufsize,\n
      \                            off_t off, size_t maxsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/notify_inval_entry.c:239,1
    - Dst: memset
      Src: /src/libfuse/example/notify_inval_entry.c:243,1
    - Dst: dirbuf_add
      Src: /src/libfuse/example/notify_inval_entry.c:244,1
    - Dst: reply_buf_limited
      Src: /src/libfuse/example/notify_inval_entry.c:245,1
    - Dst: free
      Src: /src/libfuse/example/notify_inval_entry.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 234
    functionDepth: 6
    functionLinenumber: 234
    functionLinenumberEnd: 248
    functionName: tfs_readdir
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 0
    functionsReached:
    - dirbuf_add
    - reply_buf_limited
    - memset
    - free
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void tfs_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,\n                        off_t
      off, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libfuse/example/notify_inval_entry.c:263,1
    - Dst: localtime
      Src: /src/libfuse/example/notify_inval_entry.c:264,1
    - Dst: assert
      Src: /src/libfuse/example/notify_inval_entry.c:265,1
    - Dst: strftime
      Src: /src/libfuse/example/notify_inval_entry.c:267,1
    - Dst: assert
      Src: /src/libfuse/example/notify_inval_entry.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret != 0)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/libfuse/example/notify_inval_entry.c
    - condition: (now != NULL)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/libfuse/example/notify_inval_entry.c
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: update_fs
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 6
    functionsReached:
    - localtime
    - strftime
    - assert
    - time
    linkageType: ''
    returnType: void
    signature: void update_fs(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fuse_session_exited
      Src: /src/libfuse/example/notify_inval_entry.c:277,1
    - Dst: strdup
      Src: /src/libfuse/example/notify_inval_entry.c:278,1
    - Dst: update_fs
      Src: /src/libfuse/example/notify_inval_entry.c:279,1
    - Dst: fuse_lowlevel_notify_expire_entry
      Src: /src/libfuse/example/notify_inval_entry.c:283,1
    - Dst: strlen
      Src: /src/libfuse/example/notify_inval_entry.c:284,1
    - Dst: printf
      Src: /src/libfuse/example/notify_inval_entry.c:288,1
    - Dst: assert
      Src: /src/libfuse/example/notify_inval_entry.c:295,1
    - Dst: fuse_lowlevel_notify_increment_epoch
      Src: /src/libfuse/example/notify_inval_entry.c:297,1
    - Dst: printf
      Src: /src/libfuse/example/notify_inval_entry.c:300,1
    - Dst: assert
      Src: /src/libfuse/example/notify_inval_entry.c:303,1
    - Dst: assert
      Src: /src/libfuse/example/notify_inval_entry.c:305,1
    - Dst: fuse_lowlevel_notify_inval_entry
      Src: /src/libfuse/example/notify_inval_entry.c:305,1
    - Dst: strlen
      Src: /src/libfuse/example/notify_inval_entry.c:306,1
    - Dst: free
      Src: /src/libfuse/example/notify_inval_entry.c:309,1
    - Dst: sleep
      Src: /src/libfuse/example/notify_inval_entry.c:310,1
    - Dst: printf
      Src: /src/libfuse/example/notify_inval_entry.c:314,1
    - Dst: fuse_session_exit
      Src: /src/libfuse/example/notify_inval_entry.c:316,1
    - Dst: pthread_kill
      Src: /src/libfuse/example/notify_inval_entry.c:318,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (ret == 0 || ret == -ENOENT)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/libfuse/example/notify_inval_entry.c
    - condition: (ret == 0)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/libfuse/example/notify_inval_entry.c
    - condition: "(fuse_lowlevel_notify_inval_entry\n                      (se, FUSE_ROOT_ID,
        old_name, strlen(old_name)) == 0)"
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/libfuse/example/notify_inval_entry.c
    constantsTouched: []
    func_position:
      end: 322
      start: 272
    functionDepth: 6
    functionLinenumber: 272
    functionLinenumberEnd: 322
    functionName: update_fs_loop
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 0
    functionsReached:
    - strdup
    - pthread_kill
    - fuse_lowlevel_notify_inval_entry
    - assert
    - fuse_session_exited
    - fuse_lowlevel_notify_expire_entry
    - update_fs
    - fuse_lowlevel_notify_increment_epoch
    - strlen
    - sleep
    - free
    - fuse_session_exit
    - printf
    linkageType: ''
    returnType: void
    signature: void * update_fs_loop(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/example/notify_inval_entry.c:326,1
    - Dst: printf
      Src: /src/libfuse/example/notify_inval_entry.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: show_help
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 5
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_help(const char *progname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/notify_inval_entry.c:337,1
    - Dst: fuse_opt_parse
      Src: /src/libfuse/example/notify_inval_entry.c:344,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/example/notify_inval_entry.c:347,1
    - Dst: show_help
      Src: /src/libfuse/example/notify_inval_entry.c:350,1
    - Dst: fuse_cmdline_help
      Src: /src/libfuse/example/notify_inval_entry.c:351,1
    - Dst: fuse_lowlevel_help
      Src: /src/libfuse/example/notify_inval_entry.c:352,1
    - Dst: printf
      Src: /src/libfuse/example/notify_inval_entry.c:356,1
    - Dst: fuse_pkgversion
      Src: /src/libfuse/example/notify_inval_entry.c:356,1
    - Dst: fuse_lowlevel_version
      Src: /src/libfuse/example/notify_inval_entry.c:357,1
    - Dst: printf
      Src: /src/libfuse/example/notify_inval_entry.c:362,1
    - Dst: update_fs
      Src: /src/libfuse/example/notify_inval_entry.c:368,1
    - Dst: fuse_session_new
      Src: /src/libfuse/example/notify_inval_entry.c:370,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/example/notify_inval_entry.c:375,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/example/notify_inval_entry.c:378,1
    - Dst: fuse_daemonize
      Src: /src/libfuse/example/notify_inval_entry.c:381,1
    - Dst: pthread_self
      Src: /src/libfuse/example/notify_inval_entry.c:386,1
    - Dst: pthread_create
      Src: /src/libfuse/example/notify_inval_entry.c:389,1
    - Dst: fprintf
      Src: /src/libfuse/example/notify_inval_entry.c:391,1
    - Dst: strerror
      Src: /src/libfuse/example/notify_inval_entry.c:392,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/example/notify_inval_entry.c:398,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/example/notify_inval_entry.c:400,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/example/notify_inval_entry.c:401,1
    - Dst: fuse_loop_cfg_set_max_threads
      Src: /src/libfuse/example/notify_inval_entry.c:402,1
    - Dst: fuse_session_loop_mt
      Src: /src/libfuse/example/notify_inval_entry.c:403,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/example/notify_inval_entry.c:404,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/example/notify_inval_entry.c:408,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/example/notify_inval_entry.c:410,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/example/notify_inval_entry.c:412,1
    - Dst: free
      Src: /src/libfuse/example/notify_inval_entry.c:414,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/notify_inval_entry.c:415,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 336
    functionDepth: 13
    functionLinenumber: 336
    functionLinenumberEnd: 418
    functionName: main
    functionSourceFile: /src/libfuse/example/notify_inval_entry.c
    functionUses: 8
    functionsReached:
    - fuse_session_unmount
    - fuse_daemonize
    - fuse_lowlevel_help
    - pthread_self
    - fuse_session_mount
    - FUSE_ARGS_INIT
    - pthread_create
    - update_fs
    - fuse_session_loop
    - fuse_opt_free_args
    - fuse_parse_cmdline
    - show_help
    - fuse_lowlevel_version
    - fuse_session_destroy
    - fuse_set_signal_handlers
    - fuse_session_new
    - fuse_loop_cfg_destroy
    - fuse_remove_signal_handlers
    - fuse_opt_parse
    - fuse_loop_cfg_set_max_threads
    - fuse_loop_cfg_set_clone_fd
    - strerror
    - fuse_cmdline_help
    - fprintf
    - free
    - fuse_session_loop_mt
    - fuse_pkgversion
    - fuse_loop_cfg_create
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/example/printcap.c:74,1
    - Dst: fuse_get_feature_flag
      Src: /src/libfuse/example/printcap.c:76,1
    - Dst: printf
      Src: /src/libfuse/example/printcap.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: print_capabilities
    functionSourceFile: /src/libfuse/example/printcap.c
    functionUses: 0
    functionsReached:
    - fuse_get_feature_flag
    - printf
    linkageType: ''
    returnType: void
    signature: void print_capabilities(struct fuse_conn_info *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/example/printcap.c:86,1
    - Dst: print_capabilities
      Src: /src/libfuse/example/printcap.c:88,1
    - Dst: fuse_session_exit
      Src: /src/libfuse/example/printcap.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - userdata
    - conn
    argTypes:
    - void*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: pc_init
    functionSourceFile: /src/libfuse/example/printcap.c
    functionUses: 0
    functionsReached:
    - fuse_session_exit
    - printf
    - print_capabilities
    linkageType: ''
    returnType: void
    signature: void pc_init(void *userdata, struct fuse_conn_info *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/printcap.c:99,1
    - Dst: strdup
      Src: /src/libfuse/example/printcap.c:103,1
    - Dst: mkdtemp
      Src: /src/libfuse/example/printcap.c:104,1
    - Dst: perror
      Src: /src/libfuse/example/printcap.c:105,1
    - Dst: printf
      Src: /src/libfuse/example/printcap.c:109,1
    - Dst: fuse_pkgversion
      Src: /src/libfuse/example/printcap.c:109,1
    - Dst: fuse_lowlevel_version
      Src: /src/libfuse/example/printcap.c:110,1
    - Dst: fuse_session_new
      Src: /src/libfuse/example/printcap.c:112,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/example/printcap.c:117,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/example/printcap.c:120,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/example/printcap.c:123,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/example/printcap.c:125,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/example/printcap.c:127,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/example/printcap.c:129,1
    - Dst: rmdir
      Src: /src/libfuse/example/printcap.c:131,1
    - Dst: free
      Src: /src/libfuse/example/printcap.c:132,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/printcap.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/libfuse/example/printcap.c
    functionUses: 8
    functionsReached:
    - perror
    - strdup
    - mkdtemp
    - fuse_session_new
    - fuse_session_destroy
    - fuse_remove_signal_handlers
    - fuse_session_unmount
    - fuse_session_mount
    - fuse_session_loop
    - fuse_opt_free_args
    - free
    - fuse_lowlevel_version
    - fuse_pkgversion
    - fuse_set_signal_handlers
    - FUSE_ARGS_INIT
    - printf
    - rmdir
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/example/hello_ll.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ino
    - stbuf
    argTypes:
    - fuse_ino_t
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: hello_stat
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 2
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int hello_stat(fuse_ino_t ino, struct stat *stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - userdata
    - conn
    argTypes:
    - void*
    - struct fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: hello_ll_init
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hello_ll_init(void *userdata, struct fuse_conn_info *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/hello_ll.c:79,1
    - Dst: hello_stat
      Src: /src/libfuse/example/hello_ll.c:80,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll.c:81,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/example/hello_ll.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 7
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: hello_ll_getattr
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - memset
    - fuse_reply_attr
    - hello_stat
    linkageType: ''
    returnType: void
    signature: "void hello_ll_getattr(fuse_req_t req, fuse_ino_t ino,\n\t\t\t     struct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/hello_ll.c:90,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll.c:91,1
    - Dst: memset
      Src: /src/libfuse/example/hello_ll.c:93,1
    - Dst: hello_stat
      Src: /src/libfuse/example/hello_ll.c:97,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/hello_ll.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 7
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: hello_ll_lookup
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 0
    functionsReached:
    - hello_stat
    - memset
    - strcmp
    - fuse_reply_err
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: void hello_ll_lookup(fuse_req_t req, fuse_ino_t parent, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/hello_ll.c:113,1
    - Dst: realloc
      Src: /src/libfuse/example/hello_ll.c:114,1
    - Dst: memset
      Src: /src/libfuse/example/hello_ll.c:115,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/hello_ll.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - req
    - b
    - name
    - ino
    argTypes:
    - fuse_req_t
    - struct dirbuf*
    - char*
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: dirbuf_add
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 4
    functionsReached:
    - fuse_add_direntry
    - memset
    - realloc
    linkageType: ''
    returnType: void
    signature: "void dirbuf_add(fuse_req_t req, struct dirbuf *b, const char *name,\n\t\t
      \      fuse_ino_t ino)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: min
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(x, y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/hello_ll.c:127,1
    - Dst: min
      Src: /src/libfuse/example/hello_ll.c:128,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/hello_ll.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - req
    - buf
    - bufsize
    - 'off'
    - maxsize
    argTypes:
    - fuse_req_t
    - char*
    - size_t
    - off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 7
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: reply_buf_limited
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 7
    functionsReached:
    - fuse_reply_buf
    - min
    linkageType: ''
    returnType: int
    signature: "int reply_buf_limited(fuse_req_t req, const char *buf, size_t bufsize,\n\t\t\t
      \    off_t off, size_t maxsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll.c:139,1
    - Dst: memset
      Src: /src/libfuse/example/hello_ll.c:143,1
    - Dst: dirbuf_add
      Src: /src/libfuse/example/hello_ll.c:144,1
    - Dst: dirbuf_add
      Src: /src/libfuse/example/hello_ll.c:145,1
    - Dst: dirbuf_add
      Src: /src/libfuse/example/hello_ll.c:146,1
    - Dst: reply_buf_limited
      Src: /src/libfuse/example/hello_ll.c:147,1
    - Dst: free
      Src: /src/libfuse/example/hello_ll.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 133
    functionDepth: 6
    functionLinenumber: 133
    functionLinenumberEnd: 150
    functionName: hello_ll_readdir
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 0
    functionsReached:
    - dirbuf_add
    - reply_buf_limited
    - memset
    - free
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void hello_ll_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t
      \    off_t off, struct fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll.c:156,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll.c:158,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/hello_ll.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 7
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: hello_ll_open
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_reply_open
    linkageType: ''
    returnType: void
    signature: "void hello_ll_open(fuse_req_t req, fuse_ino_t ino,\n\t\t\t  struct
      fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/example/hello_ll.c:168,1
    - Dst: reply_buf_limited
      Src: /src/libfuse/example/hello_ll.c:169,1
    - Dst: strlen
      Src: /src/libfuse/example/hello_ll.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts:
    - condition: (ino == 2)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/libfuse/example/hello_ll.c
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: hello_ll_read
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 0
    functionsReached:
    - strlen
    - reply_buf_limited
    - assert
    linkageType: ''
    returnType: void
    signature: "void hello_ll_read(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t
      \ off_t off, struct fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/example/hello_ll.c:176,1
    - Dst: strcmp
      Src: /src/libfuse/example/hello_ll.c:177,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/hello_ll.c:180,1
    - Dst: strlen
      Src: /src/libfuse/example/hello_ll.c:180,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - req
    - ino
    - name
    - size
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - size_t
    assertStmts:
    - condition: (ino == 1 || ino == 2)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/libfuse/example/hello_ll.c
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 7
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: hello_ll_getxattr
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 0
    functionsReached:
    - assert
    - fuse_reply_buf
    - strcmp
    - strlen
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void hello_ll_getxattr(fuse_req_t req, fuse_ino_t ino, const char
      *name,\n\t\t\t\t\t\t\t  size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/example/hello_ll.c:193,1
    - Dst: strcmp
      Src: /src/libfuse/example/hello_ll.c:195,1
    - Dst: strlen
      Src: /src/libfuse/example/hello_ll.c:196,1
    - Dst: strncmp
      Src: /src/libfuse/example/hello_ll.c:197,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll.c:199,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 6
    argNames:
    - req
    - ino
    - name
    - value
    - size
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - char*
    - size_t
    - int
    assertStmts:
    - condition: (ino == 1 || ino == 2)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/libfuse/example/hello_ll.c
    constantsTouched: []
    func_position:
      end: 205
      start: 188
    functionDepth: 6
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: hello_ll_setxattr
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 0
    functionsReached:
    - assert
    - strncmp
    - strcmp
    - strlen
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void hello_ll_setxattr(fuse_req_t req, fuse_ino_t ino, const char
      *name,\n\t\t\t\t\t\t\t  const char *value, size_t size, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libfuse/example/hello_ll.c:209,1
    - Dst: strcmp
      Src: /src/libfuse/example/hello_ll.c:210,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll.c:212,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/hello_ll.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - req
    - ino
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts:
    - condition: (ino == 1 || ino == 2)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/libfuse/example/hello_ll.c
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 6
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: hello_ll_removexattr
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - strcmp
    - assert
    linkageType: ''
    returnType: void
    signature: void hello_ll_removexattr(fuse_req_t req, fuse_ino_t ino, const char
      *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/hello_ll.c:234,1
    - Dst: fuse_parse_cmdline
      Src: /src/libfuse/example/hello_ll.c:240,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll.c:243,1
    - Dst: fuse_cmdline_help
      Src: /src/libfuse/example/hello_ll.c:244,1
    - Dst: fuse_lowlevel_help
      Src: /src/libfuse/example/hello_ll.c:245,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll.c:249,1
    - Dst: fuse_pkgversion
      Src: /src/libfuse/example/hello_ll.c:249,1
    - Dst: fuse_lowlevel_version
      Src: /src/libfuse/example/hello_ll.c:250,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll.c:256,1
    - Dst: printf
      Src: /src/libfuse/example/hello_ll.c:257,1
    - Dst: fuse_session_new
      Src: /src/libfuse/example/hello_ll.c:262,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/example/hello_ll.c:267,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/example/hello_ll.c:270,1
    - Dst: fuse_daemonize
      Src: /src/libfuse/example/hello_ll.c:273,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/example/hello_ll.c:277,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/example/hello_ll.c:279,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/example/hello_ll.c:280,1
    - Dst: fuse_loop_cfg_set_max_threads
      Src: /src/libfuse/example/hello_ll.c:281,1
    - Dst: fuse_session_loop_mt
      Src: /src/libfuse/example/hello_ll.c:282,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/example/hello_ll.c:283,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/example/hello_ll.c:287,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/example/hello_ll.c:289,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/example/hello_ll.c:291,1
    - Dst: free
      Src: /src/libfuse/example/hello_ll.c:293,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/hello_ll.c:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 297
    functionName: main
    functionSourceFile: /src/libfuse/example/hello_ll.c
    functionUses: 8
    functionsReached:
    - fuse_session_unmount
    - fuse_daemonize
    - fuse_lowlevel_help
    - fuse_session_mount
    - FUSE_ARGS_INIT
    - fuse_session_loop
    - fuse_opt_free_args
    - fuse_parse_cmdline
    - fuse_lowlevel_version
    - fuse_session_destroy
    - fuse_set_signal_handlers
    - fuse_session_new
    - fuse_loop_cfg_destroy
    - fuse_remove_signal_handlers
    - fuse_loop_cfg_set_max_threads
    - fuse_loop_cfg_set_clone_fd
    - fuse_cmdline_help
    - free
    - fuse_session_loop_mt
    - fuse_pkgversion
    - fuse_loop_cfg_create
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/example/poll.c:63,1
    - Dst: isxdigit
      Src: /src/libfuse/example/poll.c:63,1
    - Dst: islower
      Src: /src/libfuse/example/poll.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: fsel_path_index
    functionSourceFile: /src/libfuse/example/poll.c
    functionUses: 0
    functionsReached:
    - strlen
    - isxdigit
    - islower
    linkageType: ''
    returnType: int
    signature: int fsel_path_index(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/libfuse/example/poll.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - private_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: fsel_destroy
    functionSourceFile: /src/libfuse/example/poll.c
    functionUses: 0
    functionsReached:
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void fsel_destroy(void *private_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/poll.c:83,1
    - Dst: strcmp
      Src: /src/libfuse/example/poll.c:85,1
    - Dst: fsel_path_index
      Src: /src/libfuse/example/poll.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - path
    - stbuf
    - fi
    argTypes:
    - char*
    - struct stat*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 99
    functionName: fsel_getattr
    functionSourceFile: /src/libfuse/example/poll.c
    functionUses: 0
    functionsReached:
    - memset
    - strcmp
    - fsel_path_index
    linkageType: ''
    returnType: int
    signature: "int fsel_getattr(const char *path, struct stat *stbuf,\n\t\t\tstruct
      fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/example/poll.c:112,1
    - Dst: filler
      Src: /src/libfuse/example/poll.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - path
    - buf
    - filler
    - offset
    - fi
    - flags
    argTypes:
    - char*
    - void*
    - fuse_fill_dir_t
    - off_t
    - struct fuse_file_info*
    - enum fuse_readdir_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: fsel_readdir
    functionSourceFile: /src/libfuse/example/poll.c
    functionUses: 0
    functionsReached:
    - strcmp
    - filler
    linkageType: ''
    returnType: int
    signature: "int fsel_readdir(const char *path, void *buf, fuse_fill_dir_t filler,\n\t\t\toff_t
      offset, struct fuse_file_info *fi,\n\t\t\tenum fuse_readdir_flags flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fsel_path_index
      Src: /src/libfuse/example/poll.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 145
    functionName: fsel_open
    functionSourceFile: /src/libfuse/example/poll.c
    functionUses: 0
    functionsReached:
    - fsel_path_index
    linkageType: ''
    returnType: int
    signature: int fsel_open(const char *path, struct fuse_file_info *fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - path
    - fi
    argTypes:
    - char*
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: fsel_release
    functionSourceFile: /src/libfuse/example/poll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fsel_release(const char *path, struct fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/poll.c:165,1
    - Dst: printf
      Src: /src/libfuse/example/poll.c:168,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/poll.c:170,1
    - Dst: memset
      Src: /src/libfuse/example/poll.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - path
    - buf
    - size
    - offset
    - fi
    argTypes:
    - char*
    - char*
    - size_t
    - off_t
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: fsel_read
    functionSourceFile: /src/libfuse/example/poll.c
    functionUses: 0
    functionsReached:
    - memset
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - printf
    linkageType: ''
    returnType: int
    signature: "int fsel_read(const char *path, char *buf, size_t size, off_t offset,\n\t\t
      \    struct fuse_file_info *fi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fuse_get_context
      Src: /src/libfuse/example/poll.c:191,1
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/poll.c:196,1
    - Dst: fuse_pollhandle_destroy
      Src: /src/libfuse/example/poll.c:202,1
    - Dst: printf
      Src: /src/libfuse/example/poll.c:210,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/poll.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - path
    - fi
    - ph
    - reventsp
    argTypes:
    - char*
    - struct fuse_file_info*
    - struct fuse_pollhandle*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 218
    functionName: fsel_poll
    functionSourceFile: /src/libfuse/example/poll.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - fuse_get_context
    - fuse_pollhandle_destroy
    - printf
    linkageType: ''
    returnType: int
    signature: "int fsel_poll(const char *path, struct fuse_file_info *fi,\n\t\t     struct
      fuse_pollhandle *ph, unsigned *reventsp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libfuse/example/poll.c:240,1
    - Dst: printf
      Src: /src/libfuse/example/poll.c:257,1
    - Dst: fuse_notify_poll
      Src: /src/libfuse/example/poll.c:259,1
    - Dst: fuse_pollhandle_destroy
      Src: /src/libfuse/example/poll.c:260,1
    - Dst: pthread_mutex_unlock
      Src: /src/libfuse/example/poll.c:270,1
    - Dst: nanosleep
      Src: /src/libfuse/example/poll.c:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 230
    functionDepth: 6
    functionLinenumber: 230
    functionLinenumberEnd: 276
    functionName: fsel_producer
    functionSourceFile: /src/libfuse/example/poll.c
    functionUses: 0
    functionsReached:
    - fuse_notify_poll
    - pthread_mutex_lock
    - nanosleep
    - pthread_mutex_unlock
    - fuse_pollhandle_destroy
    - printf
    linkageType: ''
    returnType: void
    signature: void *fsel_producer(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/libfuse/example/poll.c:283,1
    - Dst: perror
      Src: /src/libfuse/example/poll.c:285,1
    - Dst: pthread_attr_init
      Src: /src/libfuse/example/poll.c:289,1
    - Dst: perror
      Src: /src/libfuse/example/poll.c:291,1
    - Dst: pthread_create
      Src: /src/libfuse/example/poll.c:295,1
    - Dst: perror
      Src: /src/libfuse/example/poll.c:297,1
    - Dst: fuse_main
      Src: /src/libfuse/example/poll.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 304
    functionName: main
    functionSourceFile: /src/libfuse/example/poll.c
    functionUses: 9
    functionsReached:
    - perror
    - pthread_create
    - pthread_attr_init
    - pthread_mutex_init
    - fuse_main
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fallocate
      Src: /src/libfuse/example/passthrough_helpers.h:43,1
    - Dst: posix_fallocate
      Src: /src/libfuse/example/passthrough_helpers.h:50,1
    - Dst: fspacectl
      Src: /src/libfuse/example/passthrough_helpers.h:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - fd
    - mode
    - offset
    - length
    argTypes:
    - int
    - int
    - off_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 68
    functionName: do_fallocate
    functionSourceFile: /src/libfuse/example/passthrough_helpers.h
    functionUses: 4
    functionsReached:
    - fallocate
    - fspacectl
    - posix_fallocate
    linkageType: ''
    returnType: int
    signature: int do_fallocate(int fd, int mode, off_t offset, off_t length)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: S_ISREG
      Src: /src/libfuse/example/passthrough_helpers.h:79,1
    - Dst: openat
      Src: /src/libfuse/example/passthrough_helpers.h:80,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_helpers.h:82,1
    - Dst: S_ISDIR
      Src: /src/libfuse/example/passthrough_helpers.h:83,1
    - Dst: mkdirat
      Src: /src/libfuse/example/passthrough_helpers.h:84,1
    - Dst: S_ISLNK
      Src: /src/libfuse/example/passthrough_helpers.h:85,1
    - Dst: symlinkat
      Src: /src/libfuse/example/passthrough_helpers.h:86,1
    - Dst: S_ISFIFO
      Src: /src/libfuse/example/passthrough_helpers.h:87,1
    - Dst: mkfifoat
      Src: /src/libfuse/example/passthrough_helpers.h:88,1
    - Dst: S_ISSOCK
      Src: /src/libfuse/example/passthrough_helpers.h:90,1
    - Dst: strlen
      Src: /src/libfuse/example/passthrough_helpers.h:94,1
    - Dst: socket
      Src: /src/libfuse/example/passthrough_helpers.h:98,1
    - Dst: strncpy
      Src: /src/libfuse/example/passthrough_helpers.h:106,1
    - Dst: bindat
      Src: /src/libfuse/example/passthrough_helpers.h:107,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_helpers.h:110,1
    - Dst: mknodat
      Src: /src/libfuse/example/passthrough_helpers.h:116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - dirfd
    - path
    - link
    - mode
    - rdev
    argTypes:
    - int
    - char*
    - char*
    - int
    - dev_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 120
    functionName: mknod_wrapper
    functionSourceFile: /src/libfuse/example/passthrough_helpers.h
    functionUses: 2
    functionsReached:
    - socket
    - strncpy
    - S_ISLNK
    - mkfifoat
    - S_ISFIFO
    - openat
    - S_ISSOCK
    - mknodat
    - S_ISDIR
    - strlen
    - bindat
    - close
    - symlinkat
    - mkdirat
    - S_ISREG
    linkageType: ''
    returnType: int
    signature: "int mknod_wrapper(int dirfd, const char *path, const char *link,\n\tint
      mode, dev_t rdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - SrcId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: operator()(const SrcId &id) const
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const SrcId &id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - SrcId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: operator()(const SrcId &id) const
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const SrcId &id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: Inode
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Inode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Inode
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Inode(const Inode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - inode
    argTypes:
    - Inode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: Inode
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Inode(Inode &&inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - inode
    argTypes:
    - Inode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: '&operator=(Inode &&inode)'
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Inode
    signature: Inode &operator=(Inode &&inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '&operator=(const Inode &)'
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Inode
    signature: Inode &operator=(const Inode &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/example/passthrough_hp.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: ~Inode()
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~Inode()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Inode *>
      Src: /src/libfuse/example/passthrough_hp.cc:183,1
    - Dst: abort
      Src: /src/libfuse/example/passthrough_hp.cc:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ino
    argTypes:
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: get_inode
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<Inode *>
    - abort
    linkageType: ''
    returnType: Inode
    signature: Inode &get_inode(fuse_ino_t ino)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ino
    argTypes:
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: get_fs_fd
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - get_inode
    linkageType: ''
    returnType: int
    signature: int get_fs_fd(fuse_ino_t ino)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:201,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:206,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:208,1
    - Dst: fuse_unset_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:215,1
    - Dst: fuse_unset_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:216,1
    - Dst: fuse_unset_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:217,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:219,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:220,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:221,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:225,1
    - Dst: fuse_set_feature_flag
      Src: /src/libfuse/example/passthrough_hp.cc:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - userdata
    - conn
    argTypes:
    - void*
    - fuse_conn_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 242
    functionName: sfs_init
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_unset_feature_flag
    - fuse_set_feature_flag
    linkageType: ''
    returnType: void
    signature: void sfs_init(void *userdata, fuse_conn_info *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:247,1
    - Dst: fstatat
      Src: /src/libfuse/example/passthrough_hp.cc:249,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:251,1
    - Dst: fuse_reply_attr
      Src: /src/libfuse/example/passthrough_hp.cc:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 7
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: sfs_getattr
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fstatat
    - fuse_reply_err
    - fuse_reply_attr
    - get_inode
    linkageType: ''
    returnType: void
    signature: void sfs_getattr(fuse_req_t req, fuse_ino_t ino, fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libfuse/example/passthrough_hp.cc:262,1
    - Dst: f
      Src: /src/libfuse/example/passthrough_hp.cc:265,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_hp.cc:268,1
    - Dst: f
      Src: /src/libfuse/example/passthrough_hp.cc:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - f
    argTypes:
    - int
    - std::function<int(const char *)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: with_fd_path
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fcntl
    - f
    - sprintf
    linkageType: ''
    returnType: int
    signature: int with_fd_path(int fd, const std::function<int(const char *)> &f)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:275,1
    - Dst: fchmod
      Src: /src/libfuse/example/passthrough_hp.cc:281,1
    - Dst: with_fd_path
      Src: /src/libfuse/example/passthrough_hp.cc:283,1
    - Dst: chmod
      Src: /src/libfuse/example/passthrough_hp.cc:284,1
    - Dst: static_cast<uid_t>
      Src: /src/libfuse/example/passthrough_hp.cc:293,1
    - Dst: static_cast<gid_t>
      Src: /src/libfuse/example/passthrough_hp.cc:296,1
    - Dst: fchownat
      Src: /src/libfuse/example/passthrough_hp.cc:298,1
    - Dst: ftruncate
      Src: /src/libfuse/example/passthrough_hp.cc:305,1
    - Dst: with_fd_path
      Src: /src/libfuse/example/passthrough_hp.cc:307,1
    - Dst: truncate
      Src: /src/libfuse/example/passthrough_hp.cc:308,1
    - Dst: futimens
      Src: /src/libfuse/example/passthrough_hp.cc:333,1
    - Dst: with_fd_path
      Src: /src/libfuse/example/passthrough_hp.cc:336,1
    - Dst: utimensat
      Src: /src/libfuse/example/passthrough_hp.cc:337,1
    - Dst: sfs_getattr
      Src: /src/libfuse/example/passthrough_hp.cc:347,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:350,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 5
    argNames:
    - req
    - ino
    - attr
    - valid
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct stat*
    - int
    - struct fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 272
    functionDepth: 8
    functionLinenumber: 272
    functionLinenumberEnd: 351
    functionName: do_setattr
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 1
    functionsReached:
    - static_cast<gid_t>
    - utimensat
    - static_cast<uid_t>
    - truncate
    - fchmod
    - get_inode
    - sfs_getattr
    - fchownat
    - with_fd_path
    - chmod
    - fuse_reply_err
    - futimens
    - ftruncate
    linkageType: ''
    returnType: void
    signature: "void do_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr,\n\t\t
      \      int valid, struct fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_setattr
      Src: /src/libfuse/example/passthrough_hp.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - req
    - ino
    - attr
    - valid
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - struct stat*
    - int
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: sfs_setattr
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - do_setattr
    linkageType: ''
    returnType: void
    signature: "void sfs_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr,\n\t\t\tint
      valid, fuse_file_info *fi)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/passthrough_hp.cc:365,1
    - Dst: openat
      Src: /src/libfuse/example/passthrough_hp.cc:369,1
    - Dst: get_fs_fd
      Src: /src/libfuse/example/passthrough_hp.cc:369,1
    - Dst: fstatat
      Src: /src/libfuse/example/passthrough_hp.cc:373,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_hp.cc:377,1
    - Dst: reinterpret_cast<fuse_ino_t>
      Src: /src/libfuse/example/passthrough_hp.cc:401,1
    - Dst: unique_lock::unlock
      Src: /src/libfuse/example/passthrough_hp.cc:414,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_hp.cc:427,1
    - Dst: unique_lock::unlock
      Src: /src/libfuse/example/passthrough_hp.cc:445,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - parent
    - name
    - e
    argTypes:
    - fuse_ino_t
    - char*
    - fuse_entry_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 453
    functionName: do_lookup
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 8
    functionsReached:
    - fstatat
    - reinterpret_cast<fuse_ino_t>
    - openat
    - unique_lock::unlock
    - memset
    - close
    - get_fs_fd
    linkageType: ''
    returnType: int
    signature: int do_lookup(fuse_ino_t parent, const char *name, fuse_entry_param
      *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_lookup
      Src: /src/libfuse/example/passthrough_hp.cc:458,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/passthrough_hp.cc:463,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:468,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/passthrough_hp.cc:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 455
    functionDepth: 7
    functionLinenumber: 455
    functionLinenumberEnd: 472
    functionName: sfs_lookup
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - do_lookup
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: void sfs_lookup(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:478,1
    - Dst: S_ISDIR
      Src: /src/libfuse/example/passthrough_hp.cc:481,1
    - Dst: mkdirat
      Src: /src/libfuse/example/passthrough_hp.cc:482,1
    - Dst: S_ISLNK
      Src: /src/libfuse/example/passthrough_hp.cc:483,1
    - Dst: symlinkat
      Src: /src/libfuse/example/passthrough_hp.cc:484,1
    - Dst: mknodat
      Src: /src/libfuse/example/passthrough_hp.cc:486,1
    - Dst: do_lookup
      Src: /src/libfuse/example/passthrough_hp.cc:492,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/passthrough_hp.cc:496,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - req
    - parent
    - name
    - mode
    - rdev
    - link
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    - dev_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 474
    functionDepth: 7
    functionLinenumber: 474
    functionLinenumberEnd: 504
    functionName: mknod_symlink
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 3
    functionsReached:
    - S_ISLNK
    - get_inode
    - mknodat
    - S_ISDIR
    - do_lookup
    - fuse_reply_err
    - symlinkat
    - mkdirat
    - fuse_reply_entry
    linkageType: ''
    returnType: void
    signature: "void mknod_symlink(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t\t
      \ mode_t mode, dev_t rdev, const char *link)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mknod_symlink
      Src: /src/libfuse/example/passthrough_hp.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - req
    - parent
    - name
    - mode
    - rdev
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    - dev_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 8
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: sfs_mknod
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - mknod_symlink
    linkageType: ''
    returnType: void
    signature: "void sfs_mknod(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t
      \     mode_t mode, dev_t rdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mknod_symlink
      Src: /src/libfuse/example/passthrough_hp.cc:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - req
    - parent
    - name
    - mode
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 8
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: sfs_mkdir
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - mknod_symlink
    linkageType: ''
    returnType: void
    signature: "void sfs_mkdir(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t
      \     mode_t mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mknod_symlink
      Src: /src/libfuse/example/passthrough_hp.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - req
    - link
    - parent
    - name
    argTypes:
    - fuse_req_t
    - char*
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 8
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: sfs_symlink
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - mknod_symlink
    linkageType: ''
    returnType: void
    signature: "void sfs_symlink(fuse_req_t req, const char *link, fuse_ino_t parent,\n\t\t\tconst
      char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:527,1
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:528,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_hp.cc:535,1
    - Dst: linkat
      Src: /src/libfuse/example/passthrough_hp.cc:537,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:539,1
    - Dst: fstatat
      Src: /src/libfuse/example/passthrough_hp.cc:543,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:546,1
    - Dst: reinterpret_cast<fuse_ino_t>
      Src: /src/libfuse/example/passthrough_hp.cc:549,1
    - Dst: fuse_reply_entry
      Src: /src/libfuse/example/passthrough_hp.cc:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - req
    - ino
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 524
    functionDepth: 7
    functionLinenumber: 524
    functionLinenumberEnd: 561
    functionName: sfs_link
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fstatat
    - reinterpret_cast<fuse_ino_t>
    - get_inode
    - sprintf
    - fuse_reply_entry
    - fuse_reply_err
    - linkat
    linkageType: ''
    returnType: void
    signature: "void sfs_link(fuse_req_t req, fuse_ino_t ino, fuse_ino_t parent,\n\t\t
      \    const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:565,1
    - Dst: unlinkat
      Src: /src/libfuse/example/passthrough_hp.cc:567,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 563
    functionDepth: 6
    functionLinenumber: 563
    functionLinenumberEnd: 569
    functionName: sfs_rmdir
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - unlinkat
    - get_inode
    linkageType: ''
    returnType: void
    signature: void sfs_rmdir(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:575,1
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:576,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:578,1
    - Dst: renameat
      Src: /src/libfuse/example/passthrough_hp.cc:582,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - req
    - parent
    - name
    - newparent
    - newname
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - fuse_ino_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 571
    functionDepth: 6
    functionLinenumber: 571
    functionLinenumberEnd: 584
    functionName: sfs_rename
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - renameat
    - get_inode
    linkageType: ''
    returnType: void
    signature: "void sfs_rename(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t
      \      fuse_ino_t newparent, const char *newname,\n\t\t       unsigned int flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:588,1
    - Dst: do_lookup
      Src: /src/libfuse/example/passthrough_hp.cc:594,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:596,1
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:600,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_hp.cc:608,1
    - Dst: forget_one
      Src: /src/libfuse/example/passthrough_hp.cc:615,1
    - Dst: unlinkat
      Src: /src/libfuse/example/passthrough_hp.cc:617,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - req
    - parent
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 586
    functionDepth: 6
    functionLinenumber: 586
    functionLinenumberEnd: 619
    functionName: sfs_unlink
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - get_inode
    - do_lookup
    - close
    - fuse_reply_err
    - forget_one
    - unlinkat
    linkageType: ''
    returnType: void
    signature: void sfs_unlink(fuse_req_t req, fuse_ino_t parent, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:623,1
    - Dst: abort
      Src: /src/libfuse/example/passthrough_hp.cc:629,1
    - Dst: unique_lock::unlock
      Src: /src/libfuse/example/passthrough_hp.cc:644,1
    - Dst: inodes::erase
      Src: /src/libfuse/example/passthrough_hp.cc:645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ino
    - n
    argTypes:
    - fuse_ino_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 650
    functionName: forget_one
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 4
    functionsReached:
    - inodes::erase
    - get_inode
    - unique_lock::unlock
    - abort
    linkageType: ''
    returnType: void
    signature: void forget_one(fuse_ino_t ino, uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forget_one
      Src: /src/libfuse/example/passthrough_hp.cc:654,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/example/passthrough_hp.cc:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - ino
    - nlookup
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 656
    functionName: sfs_forget
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - forget_one
    - fuse_reply_none
    linkageType: ''
    returnType: void
    signature: void sfs_forget(fuse_req_t req, fuse_ino_t ino, uint64_t nlookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forget_one
      Src: /src/libfuse/example/passthrough_hp.cc:662,1
    - Dst: fuse_reply_none
      Src: /src/libfuse/example/passthrough_hp.cc:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - req
    - count
    - forgets
    argTypes:
    - fuse_req_t
    - size_t
    - fuse_forget_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 658
    functionDepth: 4
    functionLinenumber: 658
    functionLinenumberEnd: 664
    functionName: sfs_forget_multi
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - forget_one
    - fuse_reply_none
    linkageType: ''
    returnType: void
    signature: "void sfs_forget_multi(fuse_req_t req, size_t count,\n\t\t\t     fuse_forget_data
      *forgets)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:668,1
    - Dst: readlinkat
      Src: /src/libfuse/example/passthrough_hp.cc:670,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:672,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:674,1
    - Dst: fuse_reply_readlink
      Src: /src/libfuse/example/passthrough_hp.cc:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - req
    - ino
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 666
    functionDepth: 7
    functionLinenumber: 666
    functionLinenumberEnd: 679
    functionName: sfs_readlink
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_reply_readlink
    - get_inode
    - readlinkat
    linkageType: ''
    returnType: void
    signature: void sfs_readlink(fuse_req_t req, fuse_ino_t ino)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 685
    functionName: DirHandle
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 686
    functionName: DirHandle
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirHandle(const DirHandle &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: '&operator=(const DirHandle &)'
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DirHandle
    signature: DirHandle &operator=(const DirHandle &)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closedir
      Src: /src/libfuse/example/passthrough_hp.cc:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 693
    functionName: ~DirHandle()
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - closedir
    linkageType: ''
    returnType: void
    signature: void ~DirHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<DirHandle *>
      Src: /src/libfuse/example/passthrough_hp.cc:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fi
    argTypes:
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 699
    functionName: get_dir_handle
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<DirHandle *>
    linkageType: ''
    returnType: DirHandle
    signature: DirHandle *get_dir_handle(fuse_file_info *fi)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:703,1
    - Dst: DirHandle::DirHandle
      Src: /src/libfuse/example/passthrough_hp.cc:704,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:706,1
    - Dst: openat
      Src: /src/libfuse/example/passthrough_hp.cc:715,1
    - Dst: fdopendir
      Src: /src/libfuse/example/passthrough_hp.cc:721,1
    - Dst: reinterpret_cast<uint64_t>
      Src: /src/libfuse/example/passthrough_hp.cc:727,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/passthrough_hp.cc:732,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:741,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 701
    functionDepth: 7
    functionLinenumber: 701
    functionLinenumberEnd: 742
    functionName: sfs_opendir
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - DirHandle::DirHandle
    - fuse_reply_open
    - openat
    - get_inode
    - fdopendir
    - fuse_reply_err
    - reinterpret_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void sfs_opendir(fuse_req_t req, fuse_ino_t ino, fuse_file_info *fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 748
    functionName: is_dot_or_dotdot
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_dot_or_dotdot(const char *name)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: get_dir_handle
      Src: /src/libfuse/example/passthrough_hp.cc:753,1
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:754,1
    - Dst: char::char
      Src: /src/libfuse/example/passthrough_hp.cc:764,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:766,1
    - Dst: seekdir
      Src: /src/libfuse/example/passthrough_hp.cc:775,1
    - Dst: readdir
      Src: /src/libfuse/example/passthrough_hp.cc:783,1
    - Dst: warn
      Src: /src/libfuse/example/passthrough_hp.cc:788,1
    - Dst: is_dot_or_dotdot
      Src: /src/libfuse/example/passthrough_hp.cc:798,1
    - Dst: do_lookup
      Src: /src/libfuse/example/passthrough_hp.cc:805,1
    - Dst: fuse_add_direntry_plus
      Src: /src/libfuse/example/passthrough_hp.cc:810,1
    - Dst: fuse_add_direntry
      Src: /src/libfuse/example/passthrough_hp.cc:815,1
    - Dst: forget_one
      Src: /src/libfuse/example/passthrough_hp.cc:824,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:848,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/passthrough_hp.cc:853,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 6
    argNames:
    - req
    - ino
    - size
    - offset
    - fi
    - plus
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - fuse_file_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 750
    functionDepth: 7
    functionLinenumber: 750
    functionLinenumberEnd: 857
    functionName: do_readdir
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 3
    functionsReached:
    - readdir
    - fuse_add_direntry_plus
    - fuse_add_direntry
    - char::char
    - is_dot_or_dotdot
    - get_inode
    - fuse_reply_buf
    - get_dir_handle
    - do_lookup
    - seekdir
    - fuse_reply_err
    - forget_one
    - warn
    linkageType: ''
    returnType: void
    signature: "void do_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t
      \      off_t offset, fuse_file_info *fi, const int plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_readdir
      Src: /src/libfuse/example/passthrough_hp.cc:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - offset
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 864
    functionName: sfs_readdir
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - do_readdir
    linkageType: ''
    returnType: void
    signature: "void sfs_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\toff_t
      offset, fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_readdir
      Src: /src/libfuse/example/passthrough_hp.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - offset
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 871
    functionName: sfs_readdirplus
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - do_readdir
    linkageType: ''
    returnType: void
    signature: "void sfs_readdirplus(fuse_req_t req, fuse_ino_t ino, size_t size,\n\t\t\t
      \   off_t offset, fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dir_handle
      Src: /src/libfuse/example/passthrough_hp.cc:876,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 873
    functionDepth: 6
    functionLinenumber: 873
    functionLinenumberEnd: 879
    functionName: sfs_releasedir
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - get_dir_handle
    linkageType: ''
    returnType: void
    signature: void sfs_releasedir(fuse_req_t req, fuse_ino_t ino, fuse_file_info
      *fi)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:884,1
    - Dst: fuse_passthrough_open
      Src: /src/libfuse/example/passthrough_hp.cc:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - req
    - ino
    - fd
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 906
    functionName: do_passthrough_open
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_passthrough_open
    - get_inode
    linkageType: ''
    returnType: void
    signature: "void do_passthrough_open(fuse_req_t req, fuse_ino_t ino, int fd,\n\t\t\t\tfuse_file_info
      *fi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - fi
    argTypes:
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 932
    functionName: sfs_create_open_flags
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sfs_create_open_flags(fuse_file_info *fi)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:937,1
    - Dst: openat
      Src: /src/libfuse/example/passthrough_hp.cc:939,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:946,1
    - Dst: do_lookup
      Src: /src/libfuse/example/passthrough_hp.cc:952,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:957,1
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:961,1
    - Dst: sfs_create_open_flags
      Src: /src/libfuse/example/passthrough_hp.cc:965,1
    - Dst: do_passthrough_open
      Src: /src/libfuse/example/passthrough_hp.cc:968,1
    - Dst: fuse_reply_create
      Src: /src/libfuse/example/passthrough_hp.cc:969,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - req
    - parent
    - name
    - mode
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - mode_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 934
    functionDepth: 7
    functionLinenumber: 934
    functionLinenumberEnd: 970
    functionName: sfs_create
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - sfs_create_open_flags
    - openat
    - fuse_reply_create
    - get_inode
    - do_lookup
    - do_passthrough_open
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void sfs_create(fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t
      \      mode_t mode, fuse_file_info *fi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/example/passthrough_hp.cc:975,1
    - Dst: fstatat
      Src: /src/libfuse/example/passthrough_hp.cc:980,1
    - Dst: reinterpret_cast<fuse_ino_t>
      Src: /src/libfuse/example/passthrough_hp.cc:996,1
    - Dst: unique_lock::unlock
      Src: /src/libfuse/example/passthrough_hp.cc:1010,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - fd
    - e
    argTypes:
    - int
    - fuse_entry_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1016
    functionName: create_new_inode
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 2
    functionsReached:
    - fstatat
    - memset
    - reinterpret_cast<fuse_ino_t>
    - unique_lock::unlock
    linkageType: ''
    returnType: Inode
    signature: Inode *create_new_inode(int fd, fuse_entry_param *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:1021,1
    - Dst: openat
      Src: /src/libfuse/example/passthrough_hp.cc:1023,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1030,1
    - Dst: create_new_inode
      Src: /src/libfuse/example/passthrough_hp.cc:1037,1
    - Dst: dup
      Src: /src/libfuse/example/passthrough_hp.cc:1037,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_hp.cc:1041,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1042,1
    - Dst: sfs_create_open_flags
      Src: /src/libfuse/example/passthrough_hp.cc:1048,1
    - Dst: do_passthrough_open
      Src: /src/libfuse/example/passthrough_hp.cc:1051,1
    - Dst: fuse_reply_create
      Src: /src/libfuse/example/passthrough_hp.cc:1053,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - req
    - parent
    - mode
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - mode_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1018
    functionDepth: 7
    functionLinenumber: 1018
    functionLinenumberEnd: 1054
    functionName: sfs_tmpfile
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - sfs_create_open_flags
    - dup
    - openat
    - fuse_reply_create
    - get_inode
    - do_passthrough_open
    - create_new_inode
    - fuse_reply_err
    - close
    linkageType: ''
    returnType: void
    signature: "void sfs_tmpfile(fuse_req_t req, fuse_ino_t parent, mode_t mode,\n\t\t\tfuse_file_info
      *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dirfd
      Src: /src/libfuse/example/passthrough_hp.cc:1061,1
    - Dst: get_dir_handle
      Src: /src/libfuse/example/passthrough_hp.cc:1061,1
    - Dst: fdatasync
      Src: /src/libfuse/example/passthrough_hp.cc:1063,1
    - Dst: fsync
      Src: /src/libfuse/example/passthrough_hp.cc:1065,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - req
    - ino
    - datasync
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1056
    functionDepth: 6
    functionLinenumber: 1056
    functionLinenumberEnd: 1067
    functionName: sfs_fsyncdir
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - dirfd
    - fdatasync
    - get_dir_handle
    - fuse_reply_err
    - fsync
    linkageType: ''
    returnType: void
    signature: "void sfs_fsyncdir(fuse_req_t req, fuse_ino_t ino, int datasync,\n\t\t\t
      fuse_file_info *fi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:1071,1
    - Dst: with_fd_path
      Src: /src/libfuse/example/passthrough_hp.cc:1092,1
    - Dst: open
      Src: /src/libfuse/example/passthrough_hp.cc:1093,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1100,1
    - Dst: sfs_create_open_flags
      Src: /src/libfuse/example/passthrough_hp.cc:1107,1
    - Dst: do_passthrough_open
      Src: /src/libfuse/example/passthrough_hp.cc:1111,1
    - Dst: fuse_reply_open
      Src: /src/libfuse/example/passthrough_hp.cc:1112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1069
    functionDepth: 7
    functionLinenumber: 1069
    functionLinenumberEnd: 1113
    functionName: sfs_open
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - sfs_create_open_flags
    - fuse_reply_open
    - get_inode
    - open
    - do_passthrough_open
    - with_fd_path
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: void sfs_open(fuse_req_t req, fuse_ino_t ino, fuse_file_info *fi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:1117,1
    - Dst: fuse_passthrough_close
      Src: /src/libfuse/example/passthrough_hp.cc:1123,1
    - Dst: close
      Src: /src/libfuse/example/passthrough_hp.cc:1135,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1115
    functionDepth: 6
    functionLinenumber: 1115
    functionLinenumberEnd: 1137
    functionName: sfs_release
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fuse_passthrough_close
    - get_inode
    - close
    linkageType: ''
    returnType: void
    signature: void sfs_release(fuse_req_t req, fuse_ino_t ino, fuse_file_info *fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/example/passthrough_hp.cc:1142,1
    - Dst: dup
      Src: /src/libfuse/example/passthrough_hp.cc:1142,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - ino
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1139
    functionDepth: 6
    functionLinenumber: 1139
    functionLinenumberEnd: 1144
    functionName: sfs_flush
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - close
    - dup
    linkageType: ''
    returnType: void
    signature: void sfs_flush(fuse_req_t req, fuse_ino_t ino, fuse_file_info *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdatasync
      Src: /src/libfuse/example/passthrough_hp.cc:1152,1
    - Dst: fsync
      Src: /src/libfuse/example/passthrough_hp.cc:1154,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - req
    - ino
    - datasync
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1146
    functionDepth: 6
    functionLinenumber: 1146
    functionLinenumberEnd: 1156
    functionName: sfs_fsync
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fdatasync
    - fuse_reply_err
    - fsync
    linkageType: ''
    returnType: void
    signature: "void sfs_fsync(fuse_req_t req, fuse_ino_t ino, int datasync,\n\t\t
      \     fuse_file_info *fi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/example/passthrough_hp.cc:1160,1
    - Dst: fuse_req_get_payload
      Src: /src/libfuse/example/passthrough_hp.cc:1163,1
    - Dst: assert
      Src: /src/libfuse/example/passthrough_hp.cc:1175,1
    - Dst: pread
      Src: /src/libfuse/example/passthrough_hp.cc:1180,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1182,1
    - Dst: static_cast<fuse_buf_flags>
      Src: /src/libfuse/example/passthrough_hp.cc:1188,1
    - Dst: fuse_reply_data
      Src: /src/libfuse/example/passthrough_hp.cc:1194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - req
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - size_t
    - off_t
    - fuse_file_info*
    assertStmts:
    - condition: (payload_size >= size)
      pos:
        line_end: 1174
        line_start: 1174
        source_file: /src/libfuse/example/passthrough_hp.cc
    constantsTouched: []
    func_position:
      end: 1195
      start: 1158
    functionDepth: 7
    functionLinenumber: 1158
    functionLinenumberEnd: 1195
    functionName: do_read
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 2
    functionsReached:
    - static_cast<fuse_buf_flags>
    - assert
    - fuse_reply_data
    - fuse_req_get_payload
    - fuse_reply_err
    - pread
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: void
    signature: void do_read(fuse_req_t req, size_t size, off_t off, fuse_file_info
      *fi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1203,1
    - Dst: do_read
      Src: /src/libfuse/example/passthrough_hp.cc:1206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - req
    - ino
    - size
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    - off_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1197
    functionDepth: 6
    functionLinenumber: 1197
    functionLinenumberEnd: 1207
    functionName: sfs_read
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - do_read
    linkageType: ''
    returnType: void
    signature: "void sfs_read(fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,\n\t\t
      \    fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUSE_BUFVEC_INIT
      Src: /src/libfuse/example/passthrough_hp.cc:1212,1
    - Dst: static_cast<fuse_buf_flags>
      Src: /src/libfuse/example/passthrough_hp.cc:1214,1
    - Dst: fuse_buf_copy
      Src: /src/libfuse/example/passthrough_hp.cc:1218,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1220,1
    - Dst: fuse_reply_write
      Src: /src/libfuse/example/passthrough_hp.cc:1222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - req
    - size
    - 'off'
    - in_buf
    - fi
    argTypes:
    - fuse_req_t
    - size_t
    - off_t
    - fuse_bufvec*
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1209
    functionDepth: 8
    functionLinenumber: 1209
    functionLinenumberEnd: 1223
    functionName: do_write_buf
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 3
    functionsReached:
    - static_cast<fuse_buf_flags>
    - fuse_reply_write
    - fuse_buf_copy
    - fuse_reply_err
    - FUSE_BUFVEC_INIT
    linkageType: ''
    returnType: void
    signature: "void do_write_buf(fuse_req_t req, size_t size, off_t off,\n\t\t\t
      fuse_bufvec *in_buf, fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1231,1
    - Dst: fuse_buf_size
      Src: /src/libfuse/example/passthrough_hp.cc:1234,1
    - Dst: do_write_buf
      Src: /src/libfuse/example/passthrough_hp.cc:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - req
    - ino
    - in_buf
    - 'off'
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_bufvec*
    - off_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1225
    functionDepth: 6
    functionLinenumber: 1225
    functionLinenumberEnd: 1236
    functionName: sfs_write_buf
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_buf_size
    - fuse_reply_err
    - do_write_buf
    linkageType: ''
    returnType: void
    signature: "void sfs_write_buf(fuse_req_t req, fuse_ino_t ino, fuse_bufvec *in_buf,\n\t\t\t
      \ off_t off, fuse_file_info *fi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstatvfs
      Src: /src/libfuse/example/passthrough_hp.cc:1242,1
    - Dst: get_fs_fd
      Src: /src/libfuse/example/passthrough_hp.cc:1242,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1244,1
    - Dst: fuse_reply_statfs
      Src: /src/libfuse/example/passthrough_hp.cc:1246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - req
    - ino
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1238
    functionDepth: 7
    functionLinenumber: 1238
    functionLinenumberEnd: 1247
    functionName: sfs_statfs
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - fstatvfs
    - fuse_reply_statfs
    - get_fs_fd
    linkageType: ''
    returnType: void
    signature: void sfs_statfs(fuse_req_t req, fuse_ino_t ino)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fallocate
      Src: /src/libfuse/example/passthrough_hp.cc:1254,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - req
    - ino
    - mode
    - offset
    - length
    - fi
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - int
    - off_t
    - off_t
    - fuse_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1249
    functionDepth: 6
    functionLinenumber: 1249
    functionLinenumberEnd: 1257
    functionName: sfs_fallocate
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - do_fallocate
    linkageType: ''
    returnType: void
    signature: "void sfs_fallocate(fuse_req_t req, fuse_ino_t ino, int mode,\n\t\t\t
      \ off_t offset, off_t length, fuse_file_info *fi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flock
      Src: /src/libfuse/example/passthrough_hp.cc:1263,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - req
    - ino
    - fi
    - op
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - fuse_file_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1259
    functionDepth: 6
    functionLinenumber: 1259
    functionLinenumberEnd: 1265
    functionName: sfs_flock
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - flock
    - fuse_reply_err
    linkageType: ''
    returnType: void
    signature: "void sfs_flock(fuse_req_t req, fuse_ino_t ino, fuse_file_info *fi,\n\t\t
      \     int op)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:1272,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_hp.cc:1277,1
    - Dst: char::char
      Src: /src/libfuse/example/passthrough_hp.cc:1280,1
    - Dst: getxattr
      Src: /src/libfuse/example/passthrough_hp.cc:1286,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/passthrough_hp.cc:1293,1
    - Dst: getxattr
      Src: /src/libfuse/example/passthrough_hp.cc:1295,1
    - Dst: fuse_reply_xattr
      Src: /src/libfuse/example/passthrough_hp.cc:1299,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1308,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - req
    - ino
    - name
    - size
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1268
    functionDepth: 7
    functionLinenumber: 1268
    functionLinenumberEnd: 1310
    functionName: sfs_getxattr
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - getxattr
    - char::char
    - get_inode
    - fuse_reply_buf
    - sprintf
    - fuse_reply_err
    - fuse_reply_xattr
    linkageType: ''
    returnType: void
    signature: "void sfs_getxattr(fuse_req_t req, fuse_ino_t ino, const char *name,\n\t\t\t
      size_t size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:1315,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_hp.cc:1320,1
    - Dst: char::char
      Src: /src/libfuse/example/passthrough_hp.cc:1323,1
    - Dst: listxattr
      Src: /src/libfuse/example/passthrough_hp.cc:1329,1
    - Dst: fuse_reply_buf
      Src: /src/libfuse/example/passthrough_hp.cc:1336,1
    - Dst: listxattr
      Src: /src/libfuse/example/passthrough_hp.cc:1338,1
    - Dst: fuse_reply_xattr
      Src: /src/libfuse/example/passthrough_hp.cc:1342,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - req
    - ino
    - size
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1312
    functionDepth: 7
    functionLinenumber: 1312
    functionLinenumberEnd: 1352
    functionName: sfs_listxattr
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - char::char
    - get_inode
    - fuse_reply_buf
    - sprintf
    - listxattr
    - fuse_reply_err
    - fuse_reply_xattr
    linkageType: ''
    returnType: void
    signature: void sfs_listxattr(fuse_req_t req, fuse_ino_t ino, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:1357,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_hp.cc:1362,1
    - Dst: setxattr
      Src: /src/libfuse/example/passthrough_hp.cc:1364,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - req
    - ino
    - name
    - value
    - size
    - flags
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1354
    functionDepth: 6
    functionLinenumber: 1354
    functionLinenumberEnd: 1368
    functionName: sfs_setxattr
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - setxattr
    - get_inode
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void sfs_setxattr(fuse_req_t req, fuse_ino_t ino, const char *name,\n\t\t\t
      const char *value, size_t size, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_inode
      Src: /src/libfuse/example/passthrough_hp.cc:1373,1
    - Dst: sprintf
      Src: /src/libfuse/example/passthrough_hp.cc:1377,1
    - Dst: removexattr
      Src: /src/libfuse/example/passthrough_hp.cc:1378,1
    - Dst: fuse_reply_err
      Src: /src/libfuse/example/passthrough_hp.cc:1381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - req
    - ino
    - name
    argTypes:
    - fuse_req_t
    - fuse_ino_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1370
    functionDepth: 6
    functionLinenumber: 1370
    functionLinenumberEnd: 1382
    functionName: sfs_removexattr
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - fuse_reply_err
    - removexattr
    - get_inode
    - sprintf
    linkageType: ''
    returnType: void
    signature: void sfs_removexattr(fuse_req_t req, fuse_ino_t ino, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - sfs_oper
    argTypes:
    - fuse_lowlevel_ops
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1425
    functionName: assign_operations
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assign_operations(fuse_lowlevel_ops &sfs_oper)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prog_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1431
    functionName: print_usage
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_usage(char *prog_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::Options::parse
      Src: /src/libfuse/example/passthrough_hp.cc:1437,1
    - Dst: what
      Src: /src/libfuse/example/passthrough_hp.cc:1439,1
    - Dst: print_usage
      Src: /src/libfuse/example/passthrough_hp.cc:1440,1
    - Dst: exit
      Src: /src/libfuse/example/passthrough_hp.cc:1441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - parser
    - argc
    - argv
    argTypes:
    - cxxopts::Options
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1443
    functionName: parse_wrapper
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - print_usage
    - what
    - cxxopts::Options::parse
    - exit
    linkageType: ''
    returnType: cxxopts::ParseResult
    signature: "cxxopts::ParseResult parse_wrapper(cxxopts::Options &parser, int &argc,\n\t\t\t\t\t
      \ char **&argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/libfuse/example/passthrough_hp.cc:1448,1
    - Dst: std::string::find
      Src: /src/libfuse/example/passthrough_hp.cc:1451,1
    - Dst: std::string::substr
      Src: /src/libfuse/example/passthrough_hp.cc:1452,1
    - Dst: std::vector<std::string>::push_back
      Src: /src/libfuse/example/passthrough_hp.cc:1454,1
    - Dst: std::vector<std::string>::push_back
      Src: /src/libfuse/example/passthrough_hp.cc:1457,1
    - Dst: std::string::substr
      Src: /src/libfuse/example/passthrough_hp.cc:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - out
    - delimiter
    argTypes:
    - std::string
    - std::vector<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1458
    functionName: string_split
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::length
    - std::vector<std::string>::push_back
    - std::string::find
    linkageType: ''
    returnType: void
    signature: "void string_split(std::string s, std::vector<std::string> &out,\n\t\t\t
      std::string delimiter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>::begin
      Src: /src/libfuse/example/passthrough_hp.cc:1464,1
    - Dst: std::vector<std::string>::end
      Src: /src/libfuse/example/passthrough_hp.cc:1464,1
    - Dst: std::vector<std::string>::end
      Src: /src/libfuse/example/passthrough_hp.cc:1466,1
    - Dst: std::ostringstream::str
      Src: /src/libfuse/example/passthrough_hp.cc:1470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - elems
    - delim
    argTypes:
    - std::vector<std::string>
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1471
    functionName: string_join
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::string>::end
    - std::vector<std::string>::begin
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: "std::string string_join(const std::vector<std::string> &elems,\n\t\t\t
      \      char delim)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cxxopts::Options::add_options
      Src: /src/libfuse/example/passthrough_hp.cc:1477,1
    - Dst: cxxopts::value
      Src: /src/libfuse/example/passthrough_hp.cc:1487,1
    - Dst: cxxopts::value<int>
      Src: /src/libfuse/example/passthrough_hp.cc:1489,1
    - Dst: parse_wrapper
      Src: /src/libfuse/example/passthrough_hp.cc:1495,1
    - Dst: auto::count
      Src: /src/libfuse/example/passthrough_hp.cc:1497,1
    - Dst: print_usage
      Src: /src/libfuse/example/passthrough_hp.cc:1498,1
    - Dst: cxxopts::Options::help
      Src: /src/libfuse/example/passthrough_hp.cc:1501,1
    - Dst: auto::substr
      Src: /src/libfuse/example/passthrough_hp.cc:1504,1
    - Dst: auto::find
      Src: /src/libfuse/example/passthrough_hp.cc:1504,1
    - Dst: fuse_lowlevel_help
      Src: /src/libfuse/example/passthrough_hp.cc:1506,1
    - Dst: exit
      Src: /src/libfuse/example/passthrough_hp.cc:1507,1
    - Dst: print_usage
      Src: /src/libfuse/example/passthrough_hp.cc:1511,1
    - Dst: exit
      Src: /src/libfuse/example/passthrough_hp.cc:1512,1
    - Dst: auto::count
      Src: /src/libfuse/example/passthrough_hp.cc:1515,1
    - Dst: auto::count
      Src: /src/libfuse/example/passthrough_hp.cc:1516,1
    - Dst: auto::count
      Src: /src/libfuse/example/passthrough_hp.cc:1518,1
    - Dst: auto::count
      Src: /src/libfuse/example/passthrough_hp.cc:1522,1
    - Dst: auto::count
      Src: /src/libfuse/example/passthrough_hp.cc:1523,1
    - Dst: as
      Src: /src/libfuse/example/passthrough_hp.cc:1524,1
    - Dst: auto::count
      Src: /src/libfuse/example/passthrough_hp.cc:1525,1
    - Dst: auto::count
      Src: /src/libfuse/example/passthrough_hp.cc:1526,1
    - Dst: realpath
      Src: /src/libfuse/example/passthrough_hp.cc:1528,1
    - Dst: warn
      Src: /src/libfuse/example/passthrough_hp.cc:1530,1
    - Dst: free
      Src: /src/libfuse/example/passthrough_hp.cc:1532,1
    - Dst: string_split
      Src: /src/libfuse/example/passthrough_hp.cc:1536,1
    - Dst: find
      Src: /src/libfuse/example/passthrough_hp.cc:1541,1
    - Dst: print_usage
      Src: /src/libfuse/example/passthrough_hp.cc:1551,1
    - Dst: exit
      Src: /src/libfuse/example/passthrough_hp.cc:1552,1
    - Dst: std::vector::push_back
      Src: /src/libfuse/example/passthrough_hp.cc:1556,1
    - Dst: std::vector::push_back
      Src: /src/libfuse/example/passthrough_hp.cc:1558,1
    - Dst: string_join
      Src: /src/libfuse/example/passthrough_hp.cc:1559,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1473
    functionDepth: 4
    functionLinenumber: 1473
    functionLinenumberEnd: 1561
    functionName: parse_options
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - cxxopts::Options::help
    - auto::find
    - fuse_lowlevel_help
    - string_join
    - auto::count
    - realpath
    - find
    - warn
    - exit
    - print_usage
    - cxxopts::value
    - string_split
    - cxxopts::Options::add_options
    - parse_wrapper
    - as
    - cxxopts::value<int>
    - free
    - auto::substr
    - std::vector::push_back
    linkageType: ''
    returnType: cxxopts::ParseResult
    signature: cxxopts::ParseResult parse_options(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/libfuse/example/passthrough_hp.cc:1566,1
    - Dst: warn
      Src: /src/libfuse/example/passthrough_hp.cc:1568,1
    - Dst: setrlimit
      Src: /src/libfuse/example/passthrough_hp.cc:1572,1
    - Dst: warn
      Src: /src/libfuse/example/passthrough_hp.cc:1574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1575
    functionName: maximize_fd_limit
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 0
    functionsReached:
    - getrlimit
    - setrlimit
    - warn
    linkageType: ''
    returnType: void
    signature: void maximize_fd_limit()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/libfuse/example/passthrough_hp.cc:1582,1
    - Dst: maximize_fd_limit
      Src: /src/libfuse/example/passthrough_hp.cc:1587,1
    - Dst: auto::count
      Src: /src/libfuse/example/passthrough_hp.cc:1592,1
    - Dst: lstat
      Src: /src/libfuse/example/passthrough_hp.cc:1595,1
    - Dst: source::c_str
      Src: /src/libfuse/example/passthrough_hp.cc:1595,1
    - Dst: err
      Src: /src/libfuse/example/passthrough_hp.cc:1597,1
    - Dst: source::c_str
      Src: /src/libfuse/example/passthrough_hp.cc:1598,1
    - Dst: S_ISDIR
      Src: /src/libfuse/example/passthrough_hp.cc:1599,1
    - Dst: errx
      Src: /src/libfuse/example/passthrough_hp.cc:1600,1
    - Dst: open
      Src: /src/libfuse/example/passthrough_hp.cc:1603,1
    - Dst: source::c_str
      Src: /src/libfuse/example/passthrough_hp.cc:1603,1
    - Dst: err
      Src: /src/libfuse/example/passthrough_hp.cc:1605,1
    - Dst: source::c_str
      Src: /src/libfuse/example/passthrough_hp.cc:1605,1
    - Dst: FUSE_ARGS_INIT
      Src: /src/libfuse/example/passthrough_hp.cc:1608,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/example/passthrough_hp.cc:1609,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/example/passthrough_hp.cc:1609,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/example/passthrough_hp.cc:1610,1
    - Dst: fuse_mount_options::c_str
      Src: /src/libfuse/example/passthrough_hp.cc:1610,1
    - Dst: fuse_opt_add_arg
      Src: /src/libfuse/example/passthrough_hp.cc:1611,1
    - Dst: errx
      Src: /src/libfuse/example/passthrough_hp.cc:1612,1
    - Dst: assign_operations
      Src: /src/libfuse/example/passthrough_hp.cc:1616,1
    - Dst: fuse_session_new
      Src: /src/libfuse/example/passthrough_hp.cc:1617,1
    - Dst: fuse_set_signal_handlers
      Src: /src/libfuse/example/passthrough_hp.cc:1621,1
    - Dst: fuse_set_fail_signal_handlers
      Src: /src/libfuse/example/passthrough_hp.cc:1624,1
    - Dst: umask
      Src: /src/libfuse/example/passthrough_hp.cc:1628,1
    - Dst: fuse_loop_cfg_create
      Src: /src/libfuse/example/passthrough_hp.cc:1631,1
    - Dst: fuse_loop_cfg_set_max_threads
      Src: /src/libfuse/example/passthrough_hp.cc:1634,1
    - Dst: fuse_loop_cfg_set_clone_fd
      Src: /src/libfuse/example/passthrough_hp.cc:1636,1
    - Dst: fuse_session_mount
      Src: /src/libfuse/example/passthrough_hp.cc:1638,1
    - Dst: fuse_daemonize
      Src: /src/libfuse/example/passthrough_hp.cc:1641,1
    - Dst: fuse_log_enable_syslog
      Src: /src/libfuse/example/passthrough_hp.cc:1644,1
    - Dst: auto::count
      Src: /src/libfuse/example/passthrough_hp.cc:1647,1
    - Dst: fuse_session_loop
      Src: /src/libfuse/example/passthrough_hp.cc:1648,1
    - Dst: fuse_session_loop_mt
      Src: /src/libfuse/example/passthrough_hp.cc:1650,1
    - Dst: fuse_session_unmount
      Src: /src/libfuse/example/passthrough_hp.cc:1652,1
    - Dst: fuse_remove_signal_handlers
      Src: /src/libfuse/example/passthrough_hp.cc:1655,1
    - Dst: fuse_session_destroy
      Src: /src/libfuse/example/passthrough_hp.cc:1657,1
    - Dst: fuse_loop_cfg_destroy
      Src: /src/libfuse/example/passthrough_hp.cc:1660,1
    - Dst: fuse_opt_free_args
      Src: /src/libfuse/example/passthrough_hp.cc:1661,1
    - Dst: fuse_log_close_syslog
      Src: /src/libfuse/example/passthrough_hp.cc:1664,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1577
    functionDepth: 5
    functionLinenumber: 1577
    functionLinenumberEnd: 1667
    functionName: main
    functionSourceFile: /src/libfuse/example/passthrough_hp.cc
    functionUses: 9
    functionsReached:
    - fuse_session_unmount
    - S_ISDIR
    - fuse_daemonize
    - fuse_session_mount
    - FUSE_ARGS_INIT
    - auto::count
    - lstat
    - open
    - fuse_session_loop
    - fuse_opt_free_args
    - source::c_str
    - assign_operations
    - fuse_session_destroy
    - fuse_set_signal_handlers
    - fuse_session_new
    - fuse_mount_options::c_str
    - fuse_loop_cfg_destroy
    - fuse_remove_signal_handlers
    - errx
    - fuse_set_fail_signal_handlers
    - fuse_loop_cfg_set_max_threads
    - parse_options
    - err
    - fuse_loop_cfg_set_clone_fd
    - fuse_log_enable_syslog
    - maximize_fd_limit
    - umask
    - fuse_log_close_syslog
    - fuse_opt_add_arg
    - fuse_session_loop_mt
    - fuse_loop_cfg_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchrnul
      Src: /src/libfuse/util/fusermount.c:64,1
    - Dst: memmove
      Src: /src/libfuse/util/fusermount.c:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 90
    functionName: unescape
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - strchrnul
    - memmove
    linkageType: ''
    returnType: void
    signature: void unescape(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getmntent
      Src: /src/libfuse/util/fusermount.c:94,1
    - Dst: unescape
      Src: /src/libfuse/util/fusermount.c:96,1
    - Dst: unescape
      Src: /src/libfuse/util/fusermount.c:97,1
    - Dst: unescape
      Src: /src/libfuse/util/fusermount.c:98,1
    - Dst: unescape
      Src: /src/libfuse/util/fusermount.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: GETMNTENT
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - unescape
    - getmntent
    linkageType: ''
    returnType: struct mntent
    signature: struct mntent *GETMNTENT(FILE *stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:116,1
    - Dst: calloc
      Src: /src/libfuse/util/fusermount.c:118,1
    - Dst: calloc
      Src: /src/libfuse/util/fusermount.c:119,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:125,1
    - Dst: strchr
      Src: /src/libfuse/util/fusermount.c:133,1
    - Dst: strncmp
      Src: /src/libfuse/util/fusermount.c:142,1
    - Dst: MIN
      Src: /src/libfuse/util/fusermount.c:142,1
    - Dst: strncat
      Src: /src/libfuse/util/fusermount.c:153,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:160,1
    - Dst: strncat
      Src: /src/libfuse/util/fusermount.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - original
    - non_x_opts
    - x_opts
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 175
    functionName: extract_x_options
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - strchr
    - strncmp
    - strncat
    - fprintf
    - strlen
    - calloc
    - MIN
    linkageType: ''
    returnType: int
    signature: "int extract_x_options(const char *original, char **non_x_opts,\n\t\t\t
      \    char **x_opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpwuid
      Src: /src/libfuse/util/fusermount.c:179,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:179,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: get_user_name
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - getuid
    - getpwuid
    - fprintf
    linkageType: ''
    returnType: char
    signature: char *get_user_name(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:193,1
    - Dst: setfsuid
      Src: /src/libfuse/util/fusermount.c:194,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:194,1
    - Dst: setfsgid
      Src: /src/libfuse/util/fusermount.c:195,1
    - Dst: getgid
      Src: /src/libfuse/util/fusermount.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: drop_privs
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - getuid
    - setfsgid
    - setfsuid
    - getgid
    linkageType: ''
    returnType: void
    signature: void drop_privs(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:201,1
    - Dst: setfsuid
      Src: /src/libfuse/util/fusermount.c:202,1
    - Dst: setfsgid
      Src: /src/libfuse/util/fusermount.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: restore_privs
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - getuid
    - setfsgid
    - setfsuid
    linkageType: ''
    returnType: void
    signature: void restore_privs(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/libfuse/util/fusermount.c:219,1
    - Dst: S_ISLNK
      Src: /src/libfuse/util/fusermount.c:219,1
    - Dst: open
      Src: /src/libfuse/util/fusermount.c:222,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:224,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:225,1
    - Dst: lockf
      Src: /src/libfuse/util/fusermount.c:228,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:230,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:231,1
    - Dst: close
      Src: /src/libfuse/util/fusermount.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: lock_umount
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - S_ISLNK
    - strerror
    - lstat
    - open
    - lockf
    - fprintf
    - close
    linkageType: ''
    returnType: int
    signature: int lock_umount(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lockf
      Src: /src/libfuse/util/fusermount.c:244,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:246,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:247,1
    - Dst: close
      Src: /src/libfuse/util/fusermount.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mtablock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: unlock_umount
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - lockf
    - fprintf
    - strerror
    - close
    linkageType: ''
    returnType: void
    signature: void unlock_umount(int mtablock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_mnt_add_mount
      Src: /src/libfuse/util/fusermount.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - source
    - mnt
    - type
    - opts
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: add_mount
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 3
    functionsReached:
    - fuse_mnt_add_mount
    linkageType: ''
    returnType: int
    signature: "int add_mount(const char *source, const char *mnt, const char *type,\n\t\t
      \    const char *opts)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_user_name
      Src: /src/libfuse/util/fusermount.c:269,1
    - Dst: setmntent
      Src: /src/libfuse/util/fusermount.c:273,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:275,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:276,1
    - Dst: sprintf
      Src: /src/libfuse/util/fusermount.c:280,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:280,1
    - Dst: GETMNTENT
      Src: /src/libfuse/util/fusermount.c:283,1
    - Dst: strcmp
      Src: /src/libfuse/util/fusermount.c:284,1
    - Dst: strcmp
      Src: /src/libfuse/util/fusermount.c:285,1
    - Dst: strcmp
      Src: /src/libfuse/util/fusermount.c:286,1
    - Dst: strncmp
      Src: /src/libfuse/util/fusermount.c:287,1
    - Dst: strncmp
      Src: /src/libfuse/util/fusermount.c:288,1
    - Dst: strstr
      Src: /src/libfuse/util/fusermount.c:289,1
    - Dst: strcmp
      Src: /src/libfuse/util/fusermount.c:292,1
    - Dst: strstr
      Src: /src/libfuse/util/fusermount.c:299,1
    - Dst: strncmp
      Src: /src/libfuse/util/fusermount.c:302,1
    - Dst: endmntent
      Src: /src/libfuse/util/fusermount.c:310,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:314,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 30
    argCount: 2
    argNames:
    - mnt
    - quiet
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: may_unmount
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - setmntent
    - getuid
    - strerror
    - get_user_name
    - strncmp
    - endmntent
    - sprintf
    - fprintf
    - strcmp
    - GETMNTENT
    - strstr
    linkageType: ''
    returnType: int
    signature: int may_unmount(const char *mnt, int quiet)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mount
      Src: /src/libfuse/util/fusermount.c:360,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:362,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:363,1
    - Dst: setmntent
      Src: /src/libfuse/util/fusermount.c:367,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:369,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:370,1
    - Dst: GETMNTENT
      Src: /src/libfuse/util/fusermount.c:375,1
    - Dst: endmntent
      Src: /src/libfuse/util/fusermount.c:377,1
    - Dst: setmntent
      Src: /src/libfuse/util/fusermount.c:379,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:381,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:382,1
    - Dst: mount
      Src: /src/libfuse/util/fusermount.c:386,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:388,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:389,1
    - Dst: GETMNTENT
      Src: /src/libfuse/util/fusermount.c:394,1
    - Dst: strcmp
      Src: /src/libfuse/util/fusermount.c:400,1
    - Dst: strcmp
      Src: /src/libfuse/util/fusermount.c:401,1
    - Dst: endmntent
      Src: /src/libfuse/util/fusermount.c:406,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:409,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 414
    functionName: check_is_mount_child
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - setmntent
    - strerror
    - endmntent
    - fprintf
    - mount
    - GETMNTENT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int check_is_mount_child(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __clone2
      Src: /src/libfuse/util/fusermount.c:427,1
    - Dst: clone
      Src: /src/libfuse/util/fusermount.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 432
    functionName: clone_newns
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - __clone2
    - clone
    linkageType: ''
    returnType: pid_t
    signature: pid_t clone_newns(void *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clone_newns
      Src: /src/libfuse/util/fusermount.c:440,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:442,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:443,1
    - Dst: waitpid
      Src: /src/libfuse/util/fusermount.c:446,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:448,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:449,1
    - Dst: WIFEXITED
      Src: /src/libfuse/util/fusermount.c:452,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:453,1
    - Dst: WEXITSTATUS
      Src: /src/libfuse/util/fusermount.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - last
    - mnt
    - type
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 461
    functionName: check_is_mount
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - WIFEXITED
    - strerror
    - waitpid
    - fprintf
    - clone_newns
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int check_is_mount(const char *last, const char *mnt, const char *type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libfuse/util/fusermount.c:470,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:472,1
    - Dst: chdir
      Src: /src/libfuse/util/fusermount.c:488,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:490,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:491,1
    - Dst: getcwd
      Src: /src/libfuse/util/fusermount.c:495,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:496,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:497,1
    - Dst: strcmp
      Src: /src/libfuse/util/fusermount.c:500,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:501,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - copy
    - lastp
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 508
    functionName: chdir_to_parent
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strerror
    - fprintf
    - strcmp
    - getcwd
    - chdir
    linkageType: ''
    returnType: int
    signature: int chdir_to_parent(char *copy, const char **lastp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:518,1
    - Dst: may_unmount
      Src: /src/libfuse/util/fusermount.c:519,1
    - Dst: strdup
      Src: /src/libfuse/util/fusermount.c:524,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:526,1
    - Dst: drop_privs
      Src: /src/libfuse/util/fusermount.c:530,1
    - Dst: chdir_to_parent
      Src: /src/libfuse/util/fusermount.c:531,1
    - Dst: restore_privs
      Src: /src/libfuse/util/fusermount.c:533,1
    - Dst: umount2
      Src: /src/libfuse/util/fusermount.c:537,1
    - Dst: restore_privs
      Src: /src/libfuse/util/fusermount.c:538,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:540,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:541,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:545,1
    - Dst: chdir
      Src: /src/libfuse/util/fusermount.c:549,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:551,1
    - Dst: fuse_mnt_remove_mount
      Src: /src/libfuse/util/fusermount.c:555,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - mnt
    - quiet
    - lazy
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 511
    functionDepth: 3
    functionLinenumber: 511
    functionLinenumberEnd: 556
    functionName: unmount_fuse_locked
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - umount2
    - strdup
    - getuid
    - drop_privs
    - strerror
    - fuse_mnt_remove_mount
    - fprintf
    - may_unmount
    - free
    - chdir
    - chdir_to_parent
    - restore_privs
    linkageType: ''
    returnType: int
    signature: int unmount_fuse_locked(const char *mnt, int quiet, int lazy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_umount
      Src: /src/libfuse/util/fusermount.c:561,1
    - Dst: unmount_fuse_locked
      Src: /src/libfuse/util/fusermount.c:563,1
    - Dst: unlock_umount
      Src: /src/libfuse/util/fusermount.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mnt
    - quiet
    - lazy
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 567
    functionName: unmount_fuse
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - lock_umount
    - unmount_fuse_locked
    - unlock_umount
    linkageType: ''
    returnType: int
    signature: int unmount_fuse(const char *mnt, int quiet, int lazy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setmntent
      Src: /src/libfuse/util/fusermount.c:574,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:576,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:577,1
    - Dst: GETMNTENT
      Src: /src/libfuse/util/fusermount.c:580,1
    - Dst: strcmp
      Src: /src/libfuse/util/fusermount.c:581,1
    - Dst: strncmp
      Src: /src/libfuse/util/fusermount.c:582,1
    - Dst: endmntent
      Src: /src/libfuse/util/fusermount.c:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 587
    functionName: count_fuse_fs
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - setmntent
    - strncmp
    - strerror
    - endmntent
    - fprintf
    - strcmp
    - GETMNTENT
    linkageType: ''
    returnType: int
    signature: int count_fuse_fs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: count_fuse_fs
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_fuse_fs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - source
    - mnt
    - type
    - opts
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 604
    functionName: add_mount
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int add_mount(const char *source, const char *mnt, const char *type,\n\t\t
      \    const char *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuse_mnt_umount
      Src: /src/libfuse/util/fusermount.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mnt
    - quiet
    - lazy
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: unmount_fuse
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - fuse_mnt_umount
    linkageType: ''
    returnType: int
    signature: int unmount_fuse(const char *mnt, int quiet, int lazy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libfuse/util/fusermount.c:615,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:618,1
    - Dst: isspace
      Src: /src/libfuse/util/fusermount.c:619,1
    - Dst: isspace
      Src: /src/libfuse/util/fusermount.c:621,1
    - Dst: memmove
      Src: /src/libfuse/util/fusermount.c:623,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: strip_line
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    - memmove
    - isspace
    linkageType: ''
    returnType: void
    signature: void strip_line(char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libfuse/util/fusermount.c:629,1
    - Dst: sscanf
      Src: /src/libfuse/util/fusermount.c:631,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - line
    - linenum
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 637
    functionName: parse_line
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strcmp
    - fprintf
    linkageType: ''
    returnType: void
    signature: void parse_line(char *line, int linenum)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libfuse/util/fusermount.c:641,1
    - Dst: fgets
      Src: /src/libfuse/util/fusermount.c:646,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:648,1
    - Dst: strip_line
      Src: /src/libfuse/util/fusermount.c:649,1
    - Dst: parse_line
      Src: /src/libfuse/util/fusermount.c:650,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:654,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:655,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:663,1
    - Dst: ferror
      Src: /src/libfuse/util/fusermount.c:666,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:667,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:668,1
    - Dst: fclose
      Src: /src/libfuse/util/fusermount.c:670,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:675,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:676,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:678,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 680
    functionName: read_conf
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - strerror
    - fgets
    - fprintf
    - strlen
    - strip_line
    - parse_line
    - ferror
    - exit
    linkageType: ''
    returnType: void
    signature: void read_conf(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libfuse/util/fusermount.c:684,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - beg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 688
    functionName: begins_with
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int begins_with(const char *s, const char *beg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:730,1
    - Dst: strncmp
      Src: /src/libfuse/util/fusermount.c:730,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:733,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - s
    - len
    - 'on'
    - flag
    argTypes:
    - char*
    - unsigned
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 743
    functionName: find_mount_flag
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - strncmp
    - getuid
    - fprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: int find_mount_flag(const char *s, unsigned len, int *on, int *flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libfuse/util/fusermount.c:749,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:751,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:752,1
    - Dst: realloc
      Src: /src/libfuse/util/fusermount.c:753,1
    - Dst: sprintf
      Src: /src/libfuse/util/fusermount.c:755,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - optsp
    - opt
    - expand
    argTypes:
    - char**
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 763
    functionName: add_option
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 2
    functionsReached:
    - strdup
    - realloc
    - sprintf
    - fprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: int add_option(char **optsp, const char *opt, unsigned expand)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: add_option
      Src: /src/libfuse/util/fusermount.c:770,1
    - Dst: add_option
      Src: /src/libfuse/util/fusermount.c:775,1
    - Dst: add_option
      Src: /src/libfuse/util/fusermount.c:779,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:782,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:785,1
    - Dst: get_user_name
      Src: /src/libfuse/util/fusermount.c:786,1
    - Dst: add_option
      Src: /src/libfuse/util/fusermount.c:790,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:790,1
    - Dst: strcat
      Src: /src/libfuse/util/fusermount.c:792,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - flags
    - opts
    - mnt_optsp
    argTypes:
    - int
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 795
    functionName: get_mnt_opts
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - getuid
    - get_user_name
    - add_option
    - strlen
    - strcat
    linkageType: ''
    returnType: int
    signature: int get_mnt_opts(int flags, char *opts, char **mnt_optsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:799,1
    - Dst: strncmp
      Src: /src/libfuse/util/fusermount.c:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - s
    - len
    - opt
    argTypes:
    - char*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 803
    functionName: opt_eq
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int opt_eq(const char *s, unsigned len, const char *opt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:809,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:813,1
    - Dst: malloc
      Src: /src/libfuse/util/fusermount.c:814,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - s
    - len
    - opt
    - val
    argTypes:
    - char*
    - unsigned
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 830
    functionName: get_string_opt
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - malloc
    - fprintf
    - strlen
    - free
    linkageType: ''
    returnType: int
    signature: "int get_string_opt(const char *s, unsigned len, const char *opt,\n\t\t\t
      \ char **val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:840,1
    - Dst: sysconf
      Src: /src/libfuse/util/fusermount.c:840,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:841,1
    - Dst: mount
      Src: /src/libfuse/util/fusermount.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - source
    - target
    - filesystemtype
    - mountflags
    - data
    argTypes:
    - char*
    - char*
    - char*
    - unsigned long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 846
    functionName: mount_notrunc
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - mount
    - sysconf
    - strlen
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int mount_notrunc(const char *source, const char *target,\n\t\t\t
      const char *filesystemtype, unsigned long mountflags,\n\t\t\t const char *data)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libfuse/util/fusermount.c:865,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:865,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:867,1
    - Dst: begins_with
      Src: /src/libfuse/util/fusermount.c:875,1
    - Dst: begins_with
      Src: /src/libfuse/util/fusermount.c:876,1
    - Dst: begins_with
      Src: /src/libfuse/util/fusermount.c:883,1
    - Dst: get_string_opt
      Src: /src/libfuse/util/fusermount.c:884,1
    - Dst: begins_with
      Src: /src/libfuse/util/fusermount.c:886,1
    - Dst: get_string_opt
      Src: /src/libfuse/util/fusermount.c:887,1
    - Dst: opt_eq
      Src: /src/libfuse/util/fusermount.c:889,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:890,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:891,1
    - Dst: opt_eq
      Src: /src/libfuse/util/fusermount.c:897,1
    - Dst: opt_eq
      Src: /src/libfuse/util/fusermount.c:899,1
    - Dst: begins_with
      Src: /src/libfuse/util/fusermount.c:900,1
    - Dst: begins_with
      Src: /src/libfuse/util/fusermount.c:901,1
    - Dst: begins_with
      Src: /src/libfuse/util/fusermount.c:902,1
    - Dst: begins_with
      Src: /src/libfuse/util/fusermount.c:903,1
    - Dst: opt_eq
      Src: /src/libfuse/util/fusermount.c:907,1
    - Dst: uname
      Src: /src/libfuse/util/fusermount.c:910,1
    - Dst: sscanf
      Src: /src/libfuse/util/fusermount.c:912,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:915,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:919,1
    - Dst: opt_eq
      Src: /src/libfuse/util/fusermount.c:920,1
    - Dst: opt_eq
      Src: /src/libfuse/util/fusermount.c:921,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:922,1
    - Dst: find_mount_flag
      Src: /src/libfuse/util/fusermount.c:926,1
    - Dst: opt_eq
      Src: /src/libfuse/util/fusermount.c:931,1
    - Dst: opt_eq
      Src: /src/libfuse/util/fusermount.c:932,1
    - Dst: begins_with
      Src: /src/libfuse/util/fusermount.c:933,1
    - Dst: begins_with
      Src: /src/libfuse/util/fusermount.c:934,1
    - Dst: memcpy
      Src: /src/libfuse/util/fusermount.c:935,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:939,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:940,1
    - Dst: get_mnt_opts
      Src: /src/libfuse/util/fusermount.c:949,1
    - Dst: sprintf
      Src: /src/libfuse/util/fusermount.c:953,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:954,1
    - Dst: getgid
      Src: /src/libfuse/util/fusermount.c:954,1
    - Dst: malloc
      Src: /src/libfuse/util/fusermount.c:956,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:956,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:957,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:957,1
    - Dst: malloc
      Src: /src/libfuse/util/fusermount.c:959,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:959,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:961,1
    - Dst: sprintf
      Src: /src/libfuse/util/fusermount.c:966,1
    - Dst: strcpy
      Src: /src/libfuse/util/fusermount.c:968,1
    - Dst: strcpy
      Src: /src/libfuse/util/fusermount.c:971,1
    - Dst: strcpy
      Src: /src/libfuse/util/fusermount.c:973,1
    - Dst: mount_notrunc
      Src: /src/libfuse/util/fusermount.c:975,1
    - Dst: strcpy
      Src: /src/libfuse/util/fusermount.c:978,1
    - Dst: sprintf
      Src: /src/libfuse/util/fusermount.c:981,1
    - Dst: strcpy
      Src: /src/libfuse/util/fusermount.c:983,1
    - Dst: mount_notrunc
      Src: /src/libfuse/util/fusermount.c:986,1
    - Dst: sprintf
      Src: /src/libfuse/util/fusermount.c:990,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:991,1
    - Dst: mount_notrunc
      Src: /src/libfuse/util/fusermount.c:992,1
    - Dst: fuse_mnt_check_fuseblk
      Src: /src/libfuse/util/fusermount.c:996,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:997,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1000,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:1001,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1007,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1008,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1013,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1014,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1015,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1016,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1017,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1018,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 123
    argCount: 8
    argNames:
    - mnt
    - typep
    - rootmode
    - fd
    - opts
    - dev
    - sourcep
    - mnt_optsp
    argTypes:
    - char*
    - char**
    - mode_t
    - int
    - char*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 1020
    functionName: do_mount
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - malloc
    - opt_eq
    - fuse_mnt_check_fuseblk
    - strlen
    - sscanf
    - memcpy
    - find_mount_flag
    - begins_with
    - uname
    - strcpy
    - exit
    - getuid
    - sprintf
    - mount_notrunc
    - get_mnt_opts
    - strerror
    - fprintf
    - getgid
    - free
    - get_string_opt
    linkageType: ''
    returnType: int
    signature: "int do_mount(const char *mnt, const char **typep, mode_t rootmode,\n\t\t
      \   int fd, const char *opts, const char *dev, char **sourcep,\n\t\t    char
      **mnt_optsp)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/libfuse/util/fusermount.c:1030,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1032,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:1033,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:1038,1
    - Dst: S_ISDIR
      Src: /src/libfuse/util/fusermount.c:1041,1
    - Dst: chdir
      Src: /src/libfuse/util/fusermount.c:1042,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1044,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:1046,1
    - Dst: lstat
      Src: /src/libfuse/util/fusermount.c:1050,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1052,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:1054,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:1058,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1059,1
    - Dst: access
      Src: /src/libfuse/util/fusermount.c:1064,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1066,1
    - Dst: S_ISREG
      Src: /src/libfuse/util/fusermount.c:1070,1
    - Dst: open
      Src: /src/libfuse/util/fusermount.c:1072,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1074,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:1075,1
    - Dst: fstat
      Src: /src/libfuse/util/fusermount.c:1078,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1080,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:1082,1
    - Dst: S_ISREG
      Src: /src/libfuse/util/fusermount.c:1085,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1086,1
    - Dst: sprintf
      Src: /src/libfuse/util/fusermount.c:1092,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1095,1
    - Dst: statfs
      Src: /src/libfuse/util/fusermount.c:1107,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1108,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:1109,1
    - Dst: typeof
      Src: /src/libfuse/util/fusermount.c:1118,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1162,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 3
    argNames:
    - mntp
    - stbuf
    - mountpoint_fd
    argTypes:
    - char**
    - struct stat*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1165
    functionName: check_perm
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - statfs
    - getuid
    - fstat
    - strerror
    - lstat
    - access
    - open
    - S_ISDIR
    - sprintf
    - fprintf
    - typeof
    - chdir
    - S_ISREG
    linkageType: ''
    returnType: int
    signature: int check_perm(const char **mntp, struct stat *stbuf, int *mountpoint_fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: drop_privs
      Src: /src/libfuse/util/fusermount.c:1171,1
    - Dst: open
      Src: /src/libfuse/util/fusermount.c:1172,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1175,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1179,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:1180,1
    - Dst: restore_privs
      Src: /src/libfuse/util/fusermount.c:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - dev
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1184
    functionName: open_fuse_device
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - drop_privs
    - strerror
    - open
    - fprintf
    - restore_privs
    linkageType: ''
    returnType: int
    signature: int open_fuse_device(const char *dev)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libfuse/util/fusermount.c:1190,1
    - Dst: open_fuse_device
      Src: /src/libfuse/util/fusermount.c:1199,1
    - Dst: drop_privs
      Src: /src/libfuse/util/fusermount.c:1203,1
    - Dst: read_conf
      Src: /src/libfuse/util/fusermount.c:1204,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:1206,1
    - Dst: count_fuse_fs
      Src: /src/libfuse/util/fusermount.c:1207,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1209,1
    - Dst: extract_x_options
      Src: /src/libfuse/util/fusermount.c:1215,1
    - Dst: check_perm
      Src: /src/libfuse/util/fusermount.c:1219,1
    - Dst: restore_privs
      Src: /src/libfuse/util/fusermount.c:1220,1
    - Dst: do_mount
      Src: /src/libfuse/util/fusermount.c:1222,1
    - Dst: close
      Src: /src/libfuse/util/fusermount.c:1226,1
    - Dst: chdir
      Src: /src/libfuse/util/fusermount.c:1231,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1233,1
    - Dst: geteuid
      Src: /src/libfuse/util/fusermount.c:1237,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:1238,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:1243,1
    - Dst: strlen
      Src: /src/libfuse/util/fusermount.c:1245,1
    - Dst: calloc
      Src: /src/libfuse/util/fusermount.c:1246,1
    - Dst: strcpy
      Src: /src/libfuse/util/fusermount.c:1249,1
    - Dst: strncat
      Src: /src/libfuse/util/fusermount.c:1250,1
    - Dst: strncat
      Src: /src/libfuse/util/fusermount.c:1253,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1256,1
    - Dst: add_mount
      Src: /src/libfuse/util/fusermount.c:1260,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1268,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1269,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1270,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1271,1
    - Dst: close
      Src: /src/libfuse/util/fusermount.c:1276,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 3
    argNames:
    - mnt
    - opts
    - type
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1279
    functionName: mount_fuse
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - open_fuse_device
    - drop_privs
    - strlen
    - calloc
    - chdir
    - close
    - geteuid
    - extract_x_options
    - strcpy
    - count_fuse_fs
    - getuid
    - getenv
    - add_mount
    - strncat
    - read_conf
    - check_perm
    - fprintf
    - free
    - restore_privs
    - do_mount
    linkageType: ''
    returnType: int
    signature: int mount_fuse(const char *mnt, const char *opts, const char **type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/libfuse/util/fusermount.c:1287,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libfuse/util/fusermount.c:1293,1
    - Dst: CMSG_LEN
      Src: /src/libfuse/util/fusermount.c:1296,1
    - Dst: CMSG_DATA
      Src: /src/libfuse/util/fusermount.c:1297,1
    - Dst: sendmsg
      Src: /src/libfuse/util/fusermount.c:1309,1
    - Dst: perror
      Src: /src/libfuse/util/fusermount.c:1311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - sock_fd
    - fd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1315
    functionName: send_fd
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - perror
    - CMSG_SPACE
    - CMSG_LEN
    - CMSG_DATA
    - sendmsg
    - CMSG_FIRSTHDR
    linkageType: ''
    returnType: int
    signature: int send_fd(int sock_fd, int fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/libfuse/util/fusermount.c:1325,1
    - Dst: perror
      Src: /src/libfuse/util/fusermount.c:1327,1
    - Dst: _exit
      Src: /src/libfuse/util/fusermount.c:1328,1
    - Dst: getuid
      Src: /src/libfuse/util/fusermount.c:1330,1
    - Dst: getgid
      Src: /src/libfuse/util/fusermount.c:1331,1
    - Dst: setresgid
      Src: /src/libfuse/util/fusermount.c:1332,1
    - Dst: perror
      Src: /src/libfuse/util/fusermount.c:1333,1
    - Dst: _exit
      Src: /src/libfuse/util/fusermount.c:1334,1
    - Dst: setresuid
      Src: /src/libfuse/util/fusermount.c:1336,1
    - Dst: perror
      Src: /src/libfuse/util/fusermount.c:1337,1
    - Dst: _exit
      Src: /src/libfuse/util/fusermount.c:1338,1
    - Dst: open
      Src: /src/libfuse/util/fusermount.c:1341,1
    - Dst: _exit
      Src: /src/libfuse/util/fusermount.c:1343,1
    - Dst: _exit
      Src: /src/libfuse/util/fusermount.c:1345,1
    - Dst: waitpid
      Src: /src/libfuse/util/fusermount.c:1348,1
    - Dst: perror
      Src: /src/libfuse/util/fusermount.c:1350,1
    - Dst: _exit
      Src: /src/libfuse/util/fusermount.c:1351,1
    - Dst: WIFEXITED
      Src: /src/libfuse/util/fusermount.c:1353,1
    - Dst: WEXITSTATUS
      Src: /src/libfuse/util/fusermount.c:1353,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - mnt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1355
    functionName: recheck_ENOTCONN_as_owner
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - perror
    - _exit
    - WIFEXITED
    - getuid
    - waitpid
    - open
    - getgid
    - fork
    - setresuid
    - setresgid
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int recheck_ENOTCONN_as_owner(const char *mnt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libfuse/util/fusermount.c:1380,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1382,1
    - Dst: chdir_to_parent
      Src: /src/libfuse/util/fusermount.c:1386,1
    - Dst: check_is_mount
      Src: /src/libfuse/util/fusermount.c:1388,1
    - Dst: open
      Src: /src/libfuse/util/fusermount.c:1391,1
    - Dst: close
      Src: /src/libfuse/util/fusermount.c:1394,1
    - Dst: recheck_ENOTCONN_as_owner
      Src: /src/libfuse/util/fusermount.c:1401,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1409,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - mnt
    - type
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1411
    functionName: should_auto_unmount
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - strdup
    - check_is_mount
    - open
    - fprintf
    - free
    - close
    - chdir_to_parent
    - recheck_ENOTCONN_as_owner
    linkageType: ''
    returnType: int
    signature: int should_auto_unmount(const char *mnt, const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/util/fusermount.c:1415,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:1424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1425
    functionName: usage
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 2
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libfuse/util/fusermount.c:1429,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1431
    functionName: show_version
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void show_version(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libfuse/util/fusermount.c:1437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - min_fd
    - max_fd
    - cfd
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1438
    functionName: close_range_loop
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void close_range_loop(int min_fd, int max_fd, int cfd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: close_range_loop
      Src: /src/libfuse/util/fusermount.c:1456,1
    - Dst: close_range
      Src: /src/libfuse/util/fusermount.c:1458,1
    - Dst: close_range
      Src: /src/libfuse/util/fusermount.c:1464,1
    - Dst: sysconf
      Src: /src/libfuse/util/fusermount.c:1471,1
    - Dst: close_range_loop
      Src: /src/libfuse/util/fusermount.c:1473,1
    - Dst: open
      Src: /src/libfuse/util/fusermount.c:1476,1
    - Dst: perror
      Src: /src/libfuse/util/fusermount.c:1478,1
    - Dst: dup2
      Src: /src/libfuse/util/fusermount.c:1483,1
    - Dst: dup2
      Src: /src/libfuse/util/fusermount.c:1484,1
    - Dst: dup2
      Src: /src/libfuse/util/fusermount.c:1485,1
    - Dst: close
      Src: /src/libfuse/util/fusermount.c:1487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - cfd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1445
    functionDepth: 1
    functionLinenumber: 1445
    functionLinenumberEnd: 1490
    functionName: close_inherited_fds
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 0
    functionsReached:
    - perror
    - sysconf
    - open
    - close_range_loop
    - dup2
    - close_range
    - close
    linkageType: ''
    returnType: int
    signature: int close_inherited_fds(int cfd)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libfuse/util/fusermount.c:1522,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1524,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:1525,1
    - Dst: getopt_long
      Src: /src/libfuse/util/fusermount.c:1528,1
    - Dst: usage
      Src: /src/libfuse/util/fusermount.c:1532,1
    - Dst: show_version
      Src: /src/libfuse/util/fusermount.c:1536,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:1563,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1568,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:1569,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1573,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:1574,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1576,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:1578,1
    - Dst: drop_privs
      Src: /src/libfuse/util/fusermount.c:1583,1
    - Dst: fuse_mnt_resolve_path
      Src: /src/libfuse/util/fusermount.c:1584,1
    - Dst: chdir
      Src: /src/libfuse/util/fusermount.c:1586,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1588,1
    - Dst: restore_privs
      Src: /src/libfuse/util/fusermount.c:1592,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:1594,1
    - Dst: umask
      Src: /src/libfuse/util/fusermount.c:1596,1
    - Dst: getenv
      Src: /src/libfuse/util/fusermount.c:1601,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1603,1
    - Dst: libfuse_strtol
      Src: /src/libfuse/util/fusermount.c:1608,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1610,1
    - Dst: fstat
      Src: /src/libfuse/util/fusermount.c:1619,1
    - Dst: S_ISSOCK
      Src: /src/libfuse/util/fusermount.c:1620,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1621,1
    - Dst: mount_fuse
      Src: /src/libfuse/util/fusermount.c:1631,1
    - Dst: send_fd
      Src: /src/libfuse/util/fusermount.c:1635,1
    - Dst: umount2
      Src: /src/libfuse/util/fusermount.c:1637,1
    - Dst: close
      Src: /src/libfuse/util/fusermount.c:1640,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1643,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1644,1
    - Dst: close_inherited_fds
      Src: /src/libfuse/util/fusermount.c:1654,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:1656,1
    - Dst: setsid
      Src: /src/libfuse/util/fusermount.c:1658,1
    - Dst: chdir
      Src: /src/libfuse/util/fusermount.c:1659,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1661,1
    - Dst: sigfillset
      Src: /src/libfuse/util/fusermount.c:1665,1
    - Dst: sigprocmask
      Src: /src/libfuse/util/fusermount.c:1666,1
    - Dst: recv
      Src: /src/libfuse/util/fusermount.c:1673,1
    - Dst: should_auto_unmount
      Src: /src/libfuse/util/fusermount.c:1684,1
    - Dst: geteuid
      Src: /src/libfuse/util/fusermount.c:1689,1
    - Dst: unmount_fuse
      Src: /src/libfuse/util/fusermount.c:1690,1
    - Dst: umount2
      Src: /src/libfuse/util/fusermount.c:1692,1
    - Dst: fprintf
      Src: /src/libfuse/util/fusermount.c:1694,1
    - Dst: strerror
      Src: /src/libfuse/util/fusermount.c:1696,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1702,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1703,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1707,1
    - Dst: free
      Src: /src/libfuse/util/fusermount.c:1708,1
    - Dst: exit
      Src: /src/libfuse/util/fusermount.c:1709,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 157
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1492
    functionDepth: 5
    functionLinenumber: 1492
    functionLinenumberEnd: 1710
    functionName: main
    functionSourceFile: /src/libfuse/util/fusermount.c
    functionUses: 9
    functionsReached:
    - drop_privs
    - S_ISSOCK
    - should_auto_unmount
    - close_inherited_fds
    - unmount_fuse
    - sigfillset
    - chdir
    - close
    - usage
    - geteuid
    - getopt_long
    - exit
    - strdup
    - mount_fuse
    - recv
    - getenv
    - libfuse_strtol
    - sigprocmask
    - umount2
    - setsid
    - send_fd
    - fstat
    - fuse_mnt_resolve_path
    - umask
    - strerror
    - fprintf
    - free
    - restore_privs
    - show_version
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libfuse/util/mount.fuse.c:57,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:59,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: xstrdup
    functionSourceFile: /src/libfuse/util/mount.fuse.c
    functionUses: 0
    functionsReached:
    - strdup
    - fprintf
    - exit
    linkageType: ''
    returnType: char
    signature: char *xstrdup(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libfuse/util/mount.fuse.c:67,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:69,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - oldptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: xrealloc
    functionSourceFile: /src/libfuse/util/mount.fuse.c
    functionUses: 0
    functionsReached:
    - realloc
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void *xrealloc(void *oldptr, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/util/mount.fuse.c:77,1
    - Dst: strlen
      Src: /src/libfuse/util/mount.fuse.c:78,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:80,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:81,1
    - Dst: xrealloc
      Src: /src/libfuse/util/mount.fuse.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - cmdp
    - opt
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: add_arg
    functionSourceFile: /src/libfuse/util/mount.fuse.c
    functionUses: 16
    functionsReached:
    - fprintf
    - strlen
    - exit
    - xrealloc
    linkageType: ''
    returnType: void
    signature: void add_arg(char **cmdp, const char *opt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/util/mount.fuse.c:106,1
    - Dst: xrealloc
      Src: /src/libfuse/util/mount.fuse.c:108,1
    - Dst: strlen
      Src: /src/libfuse/util/mount.fuse.c:108,1
    - Dst: strcpy
      Src: /src/libfuse/util/mount.fuse.c:110,1
    - Dst: strcat
      Src: /src/libfuse/util/mount.fuse.c:112,1
    - Dst: strcat
      Src: /src/libfuse/util/mount.fuse.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - opt
    - options
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: add_option
    functionSourceFile: /src/libfuse/util/mount.fuse.c
    functionUses: 3
    functionsReached:
    - strcpy
    - strlen
    - strcat
    - xrealloc
    linkageType: ''
    returnType: char
    signature: char *add_option(const char *opt, char *options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libfuse/util/mount.fuse.c:123,1
    - Dst: xrealloc
      Src: /src/libfuse/util/mount.fuse.c:124,1
    - Dst: snprintf
      Src: /src/libfuse/util/mount.fuse.c:126,1
    - Dst: add_option
      Src: /src/libfuse/util/mount.fuse.c:127,1
    - Dst: fuse_open_channel
      Src: /src/libfuse/util/mount.fuse.c:128,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:130,1
    - Dst: fcntl
      Src: /src/libfuse/util/mount.fuse.c:133,1
    - Dst: fcntl
      Src: /src/libfuse/util/mount.fuse.c:134,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:135,1
    - Dst: strerror
      Src: /src/libfuse/util/mount.fuse.c:136,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - mountpoint
    - subtype
    - options
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 141
    functionName: prepare_fuse_fd
    functionSourceFile: /src/libfuse/util/mount.fuse.c
    functionUses: 0
    functionsReached:
    - fcntl
    - fuse_open_channel
    - xrealloc
    - strerror
    - add_option
    - fprintf
    - strlen
    - exit
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int prepare_fuse_fd(const char *mountpoint, const char* subtype,\n\t\t\t
      \  const char *options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/util/mount.fuse.c:155,1
    - Dst: syscall
      Src: /src/libfuse/util/mount.fuse.c:156,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:157,1
    - Dst: strerror
      Src: /src/libfuse/util/mount.fuse.c:158,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: get_capabilities
    functionSourceFile: /src/libfuse/util/mount.fuse.c
    functionUses: 0
    functionsReached:
    - strerror
    - memset
    - fprintf
    - syscall
    - exit
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_capabilities(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libfuse/util/mount.fuse.c:176,1
    - Dst: syscall
      Src: /src/libfuse/util/mount.fuse.c:179,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:180,1
    - Dst: strerror
      Src: /src/libfuse/util/mount.fuse.c:181,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - caps
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 184
    functionName: set_capabilities
    functionSourceFile: /src/libfuse/util/mount.fuse.c
    functionUses: 0
    functionsReached:
    - strerror
    - memset
    - fprintf
    - syscall
    - exit
    linkageType: ''
    returnType: void
    signature: void set_capabilities(uint64_t caps)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/libfuse/util/mount.fuse.c:189,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:195,1
    - Dst: strerror
      Src: /src/libfuse/util/mount.fuse.c:196,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:197,1
    - Dst: prctl
      Src: /src/libfuse/util/mount.fuse.c:203,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:212,1
    - Dst: strerror
      Src: /src/libfuse/util/mount.fuse.c:214,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:215,1
    - Dst: prctl
      Src: /src/libfuse/util/mount.fuse.c:217,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:218,1
    - Dst: strerror
      Src: /src/libfuse/util/mount.fuse.c:220,1
    - Dst: set_capabilities
      Src: /src/libfuse/util/mount.fuse.c:225,1
    - Dst: prctl
      Src: /src/libfuse/util/mount.fuse.c:228,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:229,1
    - Dst: strerror
      Src: /src/libfuse/util/mount.fuse.c:230,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 233
    functionName: drop_and_lock_capabilities
    functionSourceFile: /src/libfuse/util/mount.fuse.c
    functionUses: 0
    functionsReached:
    - set_capabilities
    - strerror
    - prctl
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void drop_and_lock_capabilities(void)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libfuse/util/mount.fuse.c:255,1
    - Dst: strncmp
      Src: /src/libfuse/util/mount.fuse.c:261,1
    - Dst: strncmp
      Src: /src/libfuse/util/mount.fuse.c:263,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:270,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:273,1
    - Dst: strcmp
      Src: /src/libfuse/util/mount.fuse.c:283,1
    - Dst: strcmp
      Src: /src/libfuse/util/mount.fuse.c:285,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:289,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:292,1
    - Dst: strncmp
      Src: /src/libfuse/util/mount.fuse.c:295,1
    - Dst: strncmp
      Src: /src/libfuse/util/mount.fuse.c:297,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:301,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:304,1
    - Dst: strcmp
      Src: /src/libfuse/util/mount.fuse.c:306,1
    - Dst: xstrdup
      Src: /src/libfuse/util/mount.fuse.c:313,1
    - Dst: strtok
      Src: /src/libfuse/util/mount.fuse.c:314,1
    - Dst: strncmp
      Src: /src/libfuse/util/mount.fuse.c:327,1
    - Dst: xstrdup
      Src: /src/libfuse/util/mount.fuse.c:328,1
    - Dst: strcmp
      Src: /src/libfuse/util/mount.fuse.c:330,1
    - Dst: strcmp
      Src: /src/libfuse/util/mount.fuse.c:337,1
    - Dst: strcmp
      Src: /src/libfuse/util/mount.fuse.c:341,1
    - Dst: strcmp
      Src: /src/libfuse/util/mount.fuse.c:343,1
    - Dst: add_option
      Src: /src/libfuse/util/mount.fuse.c:346,1
    - Dst: strtok
      Src: /src/libfuse/util/mount.fuse.c:348,1
    - Dst: free
      Src: /src/libfuse/util/mount.fuse.c:350,1
    - Dst: CAP_TO_MASK
      Src: /src/libfuse/util/mount.fuse.c:355,1
    - Dst: CAP_TO_MASK
      Src: /src/libfuse/util/mount.fuse.c:356,1
    - Dst: get_capabilities
      Src: /src/libfuse/util/mount.fuse.c:357,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:358,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:360,1
    - Dst: add_option
      Src: /src/libfuse/util/mount.fuse.c:365,1
    - Dst: add_option
      Src: /src/libfuse/util/mount.fuse.c:367,1
    - Dst: xstrdup
      Src: /src/libfuse/util/mount.fuse.c:371,1
    - Dst: strchr
      Src: /src/libfuse/util/mount.fuse.c:373,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:377,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:379,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:382,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:383,1
    - Dst: prctl
      Src: /src/libfuse/util/mount.fuse.c:398,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:401,1
    - Dst: strerror
      Src: /src/libfuse/util/mount.fuse.c:403,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:404,1
    - Dst: getpwnam
      Src: /src/libfuse/util/mount.fuse.c:409,1
    - Dst: setgid
      Src: /src/libfuse/util/mount.fuse.c:410,1
    - Dst: setuid
      Src: /src/libfuse/util/mount.fuse.c:410,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:411,1
    - Dst: strerror
      Src: /src/libfuse/util/mount.fuse.c:412,1
    - Dst: exit
      Src: /src/libfuse/util/mount.fuse.c:413,1
    - Dst: getenv
      Src: /src/libfuse/util/mount.fuse.c:415,1
    - Dst: setenv
      Src: /src/libfuse/util/mount.fuse.c:417,1
    - Dst: prepare_fuse_fd
      Src: /src/libfuse/util/mount.fuse.c:421,1
    - Dst: xrealloc
      Src: /src/libfuse/util/mount.fuse.c:422,1
    - Dst: snprintf
      Src: /src/libfuse/util/mount.fuse.c:423,1
    - Dst: drop_and_lock_capabilities
      Src: /src/libfuse/util/mount.fuse.c:429,1
    - Dst: add_arg
      Src: /src/libfuse/util/mount.fuse.c:432,1
    - Dst: add_arg
      Src: /src/libfuse/util/mount.fuse.c:434,1
    - Dst: add_arg
      Src: /src/libfuse/util/mount.fuse.c:435,1
    - Dst: add_arg
      Src: /src/libfuse/util/mount.fuse.c:437,1
    - Dst: add_arg
      Src: /src/libfuse/util/mount.fuse.c:438,1
    - Dst: free
      Src: /src/libfuse/util/mount.fuse.c:441,1
    - Dst: free
      Src: /src/libfuse/util/mount.fuse.c:442,1
    - Dst: free
      Src: /src/libfuse/util/mount.fuse.c:443,1
    - Dst: free
      Src: /src/libfuse/util/mount.fuse.c:444,1
    - Dst: execl
      Src: /src/libfuse/util/mount.fuse.c:446,1
    - Dst: fprintf
      Src: /src/libfuse/util/mount.fuse.c:447,1
    - Dst: strerror
      Src: /src/libfuse/util/mount.fuse.c:448,1
    - Dst: close
      Src: /src/libfuse/util/mount.fuse.c:451,1
    - Dst: free
      Src: /src/libfuse/util/mount.fuse.c:452,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 139
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 454
    functionName: main
    functionSourceFile: /src/libfuse/util/mount.fuse.c
    functionUses: 9
    functionsReached:
    - strrchr
    - xrealloc
    - execl
    - setenv
    - close
    - setuid
    - add_arg
    - strncmp
    - prctl
    - drop_and_lock_capabilities
    - exit
    - setgid
    - snprintf
    - xstrdup
    - strtok
    - add_option
    - prepare_fuse_fd
    - getenv
    - get_capabilities
    - strchr
    - CAP_TO_MASK
    - strerror
    - fprintf
    - strcmp
    - getpwnam
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: af_gb_init
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void af_gb_init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: af_gb_cleanup
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void af_gb_cleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:39,1
    - Dst: memcpy
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: af_get_null_terminated
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *af_get_null_terminated(const uint8_t **data, size_t *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:53,1
    - Dst: memcpy
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - to_get
    argTypes:
    - uint8_t**
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: af_gb_get_random_data
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *af_gb_get_random_data(const uint8_t **data, size_t *size, size_t
      to_get)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: af_get_null_terminated
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: af_gb_get_null_terminated
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - af_get_null_terminated
    linkageType: ''
    returnType: char
    signature: char *af_gb_get_null_terminated(const uint8_t **data, size_t *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: af_gb_alloc_data
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: char
    signature: char *af_gb_alloc_data(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: af_gb_get_fixed_string
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: char
    signature: char *af_gb_get_fixed_string()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: af_get_short
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: short af_get_short(const uint8_t **data, size_t *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: af_get_int
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int af_get_int(const uint8_t **data, size_t *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_gb_init
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: af_safe_gb_init
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 1
    functionsReached:
    - af_gb_init
    linkageType: ''
    returnType: void
    signature: void af_safe_gb_init(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_get_int
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: ada_safe_get_int
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 1
    functionsReached:
    - af_get_int
    linkageType: ''
    returnType: int
    signature: int ada_safe_get_int()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: af_gb_get_null_terminated
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:126,1
    - Dst: af_gb_get_fixed_string
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: ada_safe_get_char_p
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 1
    functionsReached:
    - af_gb_get_fixed_string
    - af_gb_get_null_terminated
    linkageType: ''
    returnType: char
    signature: char *ada_safe_get_char_p()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:136,1
    - Dst: fopen
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:149,1
    - Dst: ada_safe_get_char_p
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:150,1
    - Dst: fwrite
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:151,1
    - Dst: strlen
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:151,1
    - Dst: fclose
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: af_safe_write_random_file
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 0
    functionsReached:
    - malloc
    - fwrite
    - ada_safe_get_char_p
    - fopen
    - fclose
    - strlen
    linkageType: ''
    returnType: char
    signature: char *af_safe_write_random_file()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: af_gb_cleanup
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:158,1
    - Dst: unlink
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:161,1
    - Dst: free
      Src: /src/fuzz-headers/lang/c/ada_fuzz_header.h:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: af_safe_gb_cleanup
    functionSourceFile: /src/fuzz-headers/lang/c/ada_fuzz_header.h
    functionUses: 1
    functionsReached:
    - af_gb_cleanup
    - free
    - unlink
    linkageType: ''
    returnType: void
    signature: void af_safe_gb_cleanup()
Fuzzer filename: /src/fuzz_optparse.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- signal.h
- fuse.h
- fuse_opt.h
- sys/mman.h
- linux/sched.h
- fcntl.h
- inttypes.h
- sys/uio.h
- time.h
- poll.h
- sys/prctl.h
- linux/types.h
- stdalign.h
- sys/eventfd.h
- fuse_misc.h
- unordered_map
- cstdio
- dirent.h
- perfuse.h
- memory
- cstddef
- stdlib.h
- sys/utsname.h
- err.h
- string
- string_view
- string.h
- stdbool.h
- stdio.h
- ftw.h
- vector
- sstream
- pwd.h
- mutex
- ctype.h
- algorithm
- linux/limits.h
- fuse_log.h
- sys/file.h
- iconv.h
- cstring
- cxxopts.hpp
- fuse_uring_i.h
- regex
- sys/sysinfo.h
- cuse_lowlevel.h
- fuse_common.h
- sys/ioctl.h
- sys/fsuid.h
- fuse_kernel.h
- limits.h
- sys/wait.h
- errno.h
- map
- sys/socket.h
- sys/mount.h
- sys/time.h
- syslog.h
- sys/syscall.h
- stdint.h
- execinfo.h
- stddef.h
- getopt.h
- stdarg.h
- sys/types.h
- spawn.h
- sys/stat.h
- paths.h
- iostream
- sys/user.h
- dlfcn.h
- numa.h
- liburing.h
- assert.h
- locale.h
- ioctl.h
- atomic
- util.h
- linux/securebits.h
- mntent.h
- libfuse_config.h
- sys/vfs.h
- fuse_lowlevel.h
- unordered_set
- fuse_mount_compat.h
- sys/select.h
- sched.h
- mount_util.h
- limits
- ulockmgr.h
- cstdlib
- sys/un.h
- langinfo.h
- sys/resource.h
- sys/param.h
- usdt.h
- cstdint
- passthrough_helpers.h
- shared_mutex
- utime.h
- unistd.h
- pthread.h
- ada_fuzz_header.h
- sys/xattr.h
- cctype
- sys/statvfs.h
- optional
- stdatomic.h
- fuse_i.h
- linux/capability.h
- semaphore.h
- linux/close_range.h
- unicode/unistr.h
- exception
- fuse_config.h
report: name
sources:
- function_names:
  - OPTION
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_optparse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/fuzz_optparse.c
      type_or_value: '31'
    structs:
    - fields:
      - name: '*char_opt1'
        type: char
      - name: '*char_opt2'
        type: char
      - name: int_opt3
        type: int
      item_type: struct
      name: options
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/fuzz_optparse.c
    typedefs: []
    union: []
- function_names:
  - test_ll_lookup
  - test_ll_getattr
  - signal_sender_thread
  - fork_child
  - run_test_in_child
  - main
  source_file: /src/libfuse/test/test_signals.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/libfuse/test/test_signals.c
      type_or_value: FUSE_MAKE_VERSION(3, 17)
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libfuse/test/readdir_inode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - opname
  - process_buf
  - main
  source_file: /src/libfuse/test/stracedecode.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_MAXOP
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libfuse/test/stracedecode.c
      type_or_value: (sizeof(fuse_ll_ops) / sizeof(fuse_ll_ops[0]))
    structs:
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: "fuse_ll_ops[] = {\n\t[FUSE_LOOKUP]\t   = { \"LOOKUP\"\t     },\n\t[FUSE_FORGET]\t
        \  = { \"FORGET\"\t     },\n\t[FUSE_GETATTR]\t   = { \"GETATTR\"     },\n\t[FUSE_SETATTR]\t
        \  = { \"SETATTR\"     },\n\t[FUSE_READLINK]\t   = { \"READLINK\"    },\n\t[FUSE_SYMLINK]\t
        \  = { \"SYMLINK\"     },\n\t[FUSE_MKNOD]\t   = { \"MKNOD\"\t     },\n\t[FUSE_MKDIR]\t
        \  = { \"MKDIR\"\t     },\n\t[FUSE_UNLINK]\t   = { \"UNLINK\"\t     },\n\t[FUSE_RMDIR]\t
        \  = { \"RMDIR\"\t     },\n\t[FUSE_RENAME]\t   = { \"RENAME\"\t     },\n\t[FUSE_LINK]\t
        \  = { \"LINK\"\t     },\n\t[FUSE_OPEN]\t   = { \"OPEN\"\t     },\n\t[FUSE_READ]\t
        \  = { \"READ\"\t     },\n\t[FUSE_WRITE]\t   = { \"WRITE\"\t     },\n\t[FUSE_STATFS]\t
        \  = { \"STATFS\"\t     },\n\t[FUSE_RELEASE]\t   = { \"RELEASE\"     },\n\t[FUSE_FSYNC]\t
        \  = { \"FSYNC\"\t     },\n\t[FUSE_SETXATTR]\t   = { \"SETXATTR\"    },\n\t[FUSE_GETXATTR]\t
        \  = { \"GETXATTR\"    },\n\t[FUSE_LISTXATTR]   = { \"LISTXATTR\"   },\n\t[FUSE_REMOVEXATTR]
        = { \"REMOVEXATTR\" },\n\t[FUSE_FLUSH]\t   = { \"FLUSH\"\t     },\n\t[FUSE_INIT]\t
        \  = { \"INIT\"\t     },\n\t[FUSE_OPENDIR]\t   = { \"OPENDIR\"     },\n\t[FUSE_READDIR]\t
        \  = { \"READDIR\"     },\n\t[FUSE_RELEASEDIR]  = { \"RELEASEDIR\"  },\n\t[FUSE_FSYNCDIR]\t
        \  = { \"FSYNCDIR\"    },\n\t[FUSE_GETLK]\t   = { \"GETLK\"\t     },\n\t[FUSE_SETLK]\t
        \  = { \"SETLK\"\t     },\n\t[FUSE_SETLKW]\t   = { \"SETLKW\"\t     },\n\t[FUSE_ACCESS]\t
        \  = { \"ACCESS\"\t     },\n\t[FUSE_CREATE]\t   = { \"CREATE\"\t     },\n\t[FUSE_TMPFILE]\t
        \  = { \"TMPFILE\"\t },\n\t[FUSE_INTERRUPT]   = { \"INTERRUPT\"   },\n\t[FUSE_BMAP]\t
        \  = { \"BMAP\"\t     },\n\t[FUSE_DESTROY]\t   = { \"DESTROY\"     },\n\t[FUSE_READDIRPLUS]
        = { \"READDIRPLUS\" },\n}"
      pos:
        line_end: 6
        line_start: 4
        source_file: /src/libfuse/test/stracedecode.c
    typedefs: []
    union: []
- function_names:
  - OPTION
  - hello_init
  - hello_getattr
  - hello_readdir
  - hello_open
  - hello_read
  - show_help
  - main
  source_file: /src/libfuse/test/hello.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libfuse/test/hello.c
      type_or_value: '31'
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*contents'
        type: char
      - name: show_help
        type: int
      item_type: struct
      name: options
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/libfuse/test/hello.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libfuse/test/test_abi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/libfuse/test/test_abi.c
      type_or_value: '30'
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_conn_info
  - application_init_old_style
  - application_init_new_style
  - test_fuse_fs_init
  - test_do_init
  - test_want_conversion_basic
  - test_want_conversion_conflict
  - test_want_conversion_high_bits
  - main
  source_file: /src/libfuse/test/test_want_conversion.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/libfuse/test/test_want_conversion.c
      type_or_value: FUSE_MAKE_VERSION(3, 17)
    structs: []
    typedefs: []
    union: []
- function_names:
  - xmp_init
  - xmp_getattr
  - xmp_unlink
  - xmp_rename
  - xmp_create
  - xmp_release
  - main
  source_file: /src/libfuse/test/release_unlink_race.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/libfuse/test/release_unlink_race.c
      type_or_value: '31'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libfuse/test/wrong_command.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tfs_stat
  - tfs_lookup
  - tfs_getattr
  - tfs_open
  - tfs_setattr
  - run_fs
  - test_fs
  - main
  source_file: /src/libfuse/test/test_setattr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/libfuse/test/test_setattr.c
      type_or_value: '30'
    - item_type: preproc_def
      name: FILE_INO
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libfuse/test/test_setattr.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FILE_NAME
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libfuse/test/test_setattr.c
      type_or_value: '"truncate_me"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_perror
  - test_error
  - is_dot_or_dotdot
  - success
  - __start_test
  - start_test
  - PERROR
  - ERROR
  - ARRAY_SIZE
  - st_check_size
  - check_size
  - check_testfile_size
  - st_check_type
  - check_type
  - st_check_mode
  - check_mode
  - check_testfile_mode
  - check_times
  - fcheck_times
  - st_check_nlink
  - check_nlink
  - fcheck_stat
  - check_nonexist
  - check_buffer
  - check_data
  - fcheck_data
  - check_dir_contents
  - create_file
  - create_path_fd
  - create_testfile
  - check_unlinked_testfile
  - check_unlinked_testfiles
  - cleanup_dir
  - create_dir
  - test_truncate
  - test_ftruncate
  - test_seekdir
  - test_copy_file_range
  - test_copy_file_range
  - test_statx
  - test_statx
  - test_utime
  - test_create
  - test_create_unlink
  - test_mknod
  - test_open
  - do_test_open
  - test_open_acc
  - do_test_open_acc
  - test_symlink
  - test_link
  - test_link2
  - test_rename_file
  - test_rename_dir
  - test_rename_dir_loop
  - PATH
  - PATH2
  - test_mkfifo
  - test_mkdir
  - test_socket
  - test_create_ro_dir
  - do_test_create_ro_dir
  - test_create_tmpfile
  - test_create_and_link_tmpfile
  - main
  source_file: /src/libfuse/test/test_syscalls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALLPERMS
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libfuse/test/test_syscalls.c
      type_or_value: (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
    - item_type: preproc_def
      name: MAX_ENTRIES
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libfuse/test/test_syscalls.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAX_TESTS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libfuse/test/test_syscalls.c
      type_or_value: '100'
    - item_type: preproc_def
      name: this_test
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libfuse/test/test_syscalls.c
      type_or_value: (&tests[testnum-1])
    - item_type: preproc_def
      name: next_test
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libfuse/test/test_syscalls.c
      type_or_value: (&tests[testnum])
    structs:
    - fields:
      - name: fd
        type: int
      - name: stat
        type: struct stat
      item_type: struct
      name: test
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/libfuse/test/test_syscalls.c
    typedefs: []
    union: []
- function_names:
  - OPTION
  - tfs_init
  - tfs_stat
  - tfs_lookup
  - tfs_getattr
  - tfs_open
  - tfs_write
  - close_rofd
  - run_fs
  - test_fs
  - main
  source_file: /src/libfuse/test/test_write_cache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/libfuse/test/test_write_cache.c
      type_or_value: '30'
    - item_type: preproc_def
      name: FILE_INO
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libfuse/test/test_write_cache.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FILE_NAME
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libfuse/test/test_write_cache.c
      type_or_value: '"write_me"'
    - item_type: preproc_def
      name: WRITE_SYSCALLS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libfuse/test/test_write_cache.c
      type_or_value: '64'
    structs:
    - fields:
      - name: writeback
        type: int
      - name: data_size
        type: int
      - name: delay_ms
        type: int
      item_type: struct
      name: options
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/libfuse/test/test_write_cache.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libfuse/include/cuse_lowlevel.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libfuse/include/cuse_lowlevel.h
      type_or_value: '29'
    - item_type: preproc_def
      name: CUSE_UNRESTRICTED_IOCTL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libfuse/include/cuse_lowlevel.h
      type_or_value: '(1 << 0) '
    structs:
    - fields:
      - name: dev_major
        type: unsigned
      - name: dev_minor
        type: unsigned
      - name: dev_info_argc
        type: unsigned
      - name: '**dev_info_argv'
        type: char
      - name: flags
        type: unsigned
      item_type: struct
      name: cuse_info
      pos:
        line_end: 38
        line_start: 32
        source_file: /src/libfuse/include/cuse_lowlevel.h
    - fields:
      - name: (*init) (void *userdata, struct fuse_conn_info *conn)
        type: void
      - name: (*init_done) (void *userdata)
        type: void
      - name: (*destroy) (void *userdata)
        type: void
      - name: (*open) (fuse_req_t req, struct fuse_file_info *fi)
        type: void
      - name: "(*read) (fuse_req_t req, size_t size, off_t off,\n\t\t      struct
          fuse_file_info *fi)"
        type: void
      - name: "(*write) (fuse_req_t req, const char *buf, size_t size, off_t off,\n\t\t
          \      struct fuse_file_info *fi)"
        type: void
      - name: (*flush) (fuse_req_t req, struct fuse_file_info *fi)
        type: void
      - name: (*release) (fuse_req_t req, struct fuse_file_info *fi)
        type: void
      - name: (*fsync) (fuse_req_t req, int datasync, struct fuse_file_info *fi)
        type: void
      - name: "(*ioctl) (fuse_req_t req, int cmd, void *arg,\n\t\t       struct fuse_file_info
          *fi, unsigned int flags,\n\t\t       const void *in_buf, size_t in_bufsz,
          size_t out_bufsz)"
        type: void
      - name: "(*poll) (fuse_req_t req, struct fuse_file_info *fi,\n\t\t      struct
          fuse_pollhandle *ph)"
        type: void
      item_type: struct
      name: cuse_lowlevel_ops
      pos:
        line_end: 65
        line_start: 48
        source_file: /src/libfuse/include/cuse_lowlevel.h
    typedefs: []
    union: []
- function_names:
  - FUSE_MAKE_VERSION
  source_file: /src/libfuse/include/fuse_common.h
  types:
    enum:
    - enumerators:
      - name: FUSE_BUF_IS_FD
        value: (1 << 1)
      - name: FUSE_BUF_FD_SEEK
        value: (1 << 2)
      - name: FUSE_BUF_FD_RETRY
        value: (1 << 3)
      item_type: enum
      name: fuse_buf_flags
      pos:
        line_end: 834
        line_start: 808
        source_file: /src/libfuse/include/fuse_common.h
    - enumerators:
      - name: FUSE_BUF_NO_SPLICE
        value: (1 << 1)
      - name: FUSE_BUF_SPLICE_MOVE
        value: (1 << 3)
      - name: FUSE_BUF_SPLICE_NONBLOCK
        value: (1 << 4)
      - name: FUSE_BUF_FORCE_SPLICE
        value: (1 << 2)
      item_type: enum
      name: fuse_buf_copy_flags
      pos:
        line_end: 876
        line_start: 839
        source_file: /src/libfuse/include/fuse_common.h
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_VERSION
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: FUSE_MAKE_VERSION(FUSE_MAJOR_VERSION, FUSE_MINOR_VERSION)
    - item_type: preproc_def
      name: FUSE_CAP_ASYNC_READ
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 0)
    - item_type: preproc_def
      name: FUSE_CAP_POSIX_LOCKS
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 1)
    - item_type: preproc_def
      name: FUSE_CAP_ATOMIC_O_TRUNC
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 3)
    - item_type: preproc_def
      name: FUSE_CAP_EXPORT_SUPPORT
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 4)
    - item_type: preproc_def
      name: FUSE_CAP_DONT_MASK
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 6)
    - item_type: preproc_def
      name: FUSE_CAP_SPLICE_WRITE
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 7)
    - item_type: preproc_def
      name: FUSE_CAP_SPLICE_MOVE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 8)
    - item_type: preproc_def
      name: FUSE_CAP_SPLICE_READ
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 9)
    - item_type: preproc_def
      name: FUSE_CAP_FLOCK_LOCKS
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 10)
    - item_type: preproc_def
      name: FUSE_CAP_IOCTL_DIR
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 11)
    - item_type: preproc_def
      name: FUSE_CAP_AUTO_INVAL_DATA
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 12)
    - item_type: preproc_def
      name: FUSE_CAP_READDIRPLUS
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 13)
    - item_type: preproc_def
      name: FUSE_CAP_READDIRPLUS_AUTO
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 14)
    - item_type: preproc_def
      name: FUSE_CAP_ASYNC_DIO
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 15)
    - item_type: preproc_def
      name: FUSE_CAP_WRITEBACK_CACHE
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 16)
    - item_type: preproc_def
      name: FUSE_CAP_NO_OPEN_SUPPORT
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 17)
    - item_type: preproc_def
      name: FUSE_CAP_PARALLEL_DIROPS
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 18)
    - item_type: preproc_def
      name: FUSE_CAP_POSIX_ACL
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 19)
    - item_type: preproc_def
      name: FUSE_CAP_HANDLE_KILLPRIV
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 20)
    - item_type: preproc_def
      name: FUSE_CAP_HANDLE_KILLPRIV_V2
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 21)
    - item_type: preproc_def
      name: FUSE_CAP_CACHE_SYMLINKS
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 23)
    - item_type: preproc_def
      name: FUSE_CAP_NO_OPENDIR_SUPPORT
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 24)
    - item_type: preproc_def
      name: FUSE_CAP_EXPLICIT_INVAL_DATA
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 25)
    - item_type: preproc_def
      name: FUSE_CAP_EXPIRE_ONLY
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 26)
    - item_type: preproc_def
      name: FUSE_CAP_SETXATTR_EXT
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 27)
    - item_type: preproc_def
      name: FUSE_CAP_DIRECT_IO_ALLOW_MMAP
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 28)
    - item_type: preproc_def
      name: FUSE_CAP_PASSTHROUGH
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 29)
    - item_type: preproc_def
      name: FUSE_CAP_NO_EXPORT_SUPPORT
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 30)
    - item_type: preproc_def
      name: FUSE_CAP_OVER_IO_URING
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1UL << 31)
    - item_type: preproc_def
      name: FUSE_IOCTL_COMPAT
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_IOCTL_UNRESTRICTED
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FUSE_IOCTL_RETRY
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FUSE_IOCTL_DIR
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: FUSE_IOCTL_MAX_IOV
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: '256'
    - item_type: preproc_def
      name: FUSE_BACKING_STACKED_UNDER
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (0)
    - item_type: preproc_def
      name: FUSE_BACKING_STACKED_OVER
      pos:
        line_end: 671
        line_start: 670
        source_file: /src/libfuse/include/fuse_common.h
      type_or_value: (1)
    structs:
    - fields:
      - name: flags
        type: int32_t
      - name: writepage
        type: uint32_t
      - name: direct_io
        type: uint32_t
      - name: keep_cache
        type: uint32_t
      - name: flush
        type: uint32_t
      - name: nonseekable
        type: uint32_t
      - name: flock_release
        type: uint32_t
      - name: cache_readdir
        type: uint32_t
      - name: noflush
        type: uint32_t
      - name: parallel_direct_writes
        type: uint32_t
      - name: padding
        type: uint32_t
      - name: padding2
        type: uint32_t
      - name: padding3
        type: uint32_t
      - name: fh
        type: uint64_t
      - name: lock_owner
        type: uint64_t
      - name: poll_events
        type: uint32_t
      - name: backing_id
        type: int32_t
      - name: compat_flags
        type: uint64_t
      - name: reserved[2]
        type: uint64_t
      item_type: struct
      name: fuse_file_info
      pos:
        line_end: 124
        line_start: 49
        source_file: /src/libfuse/include/fuse_common.h
    - fields:
      - name: clone_fd
        type: int
      - name: max_idle_threads
        type: unsigned int
      item_type: struct
      name: fuse_loop_config_v1
      pos:
        line_end: 159
        line_start: 140
        source_file: /src/libfuse/include/fuse_common.h
    - fields:
      - name: proto_major
        type: uint32_t
      - name: proto_minor
        type: uint32_t
      - name: max_write
        type: uint32_t
      - name: max_read
        type: uint32_t
      - name: max_readahead
        type: uint32_t
      - name: capable
        type: uint32_t
      - name: want
        type: uint32_t
      - name: max_background
        type: uint32_t
      - name: congestion_threshold
        type: uint32_t
      - name: time_gran
        type: uint32_t
      - name: max_backing_stack_depth
        type: uint32_t
      - name: no_interrupt
        type: uint32_t
      - name: padding
        type: uint32_t
      - name: capable_ext
        type: uint64_t
      - name: want_ext
        type: uint64_t
      - name: request_timeout
        type: uint16_t
      - name: reserved[31]
        type: uint16_t
      item_type: struct
      name: fuse_conn_info
      pos:
        line_end: 712
        line_start: 542
        source_file: /src/libfuse/include/fuse_common.h
    - fields:
      - name: size
        type: size_t
      - name: flags
        type: enum fuse_buf_flags
      - name: '*mem'
        type: void
      - name: fd
        type: int
      - name: pos
        type: off_t
      - name: mem_size
        type: size_t
      item_type: struct
      name: fuse_buf
      pos:
        line_end: 923
        line_start: 884
        source_file: /src/libfuse/include/fuse_common.h
    - fields:
      - name: count
        type: size_t
      - name: idx
        type: size_t
      - name: 'off'
        type: size_t
      - name: buf[1]
        type: struct fuse_buf
      item_type: struct
      name: fuse_bufvec
      pos:
        line_end: 953
        line_start: 933
        source_file: /src/libfuse/include/fuse_common.h
    - fields:
      - name: major
        type: uint32_t
      - name: minor
        type: uint32_t
      - name: hotfix
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: libfuse_version
      pos:
        line_end: 965
        line_start: 959
        source_file: /src/libfuse/include/fuse_common.h
    - fields:
      - name: _fuse_off_t_must_be_64bit
        type: unsigned
      item_type: struct
      name: _fuse_off_t_must_be_64bit_dummy_struct
      pos:
        line_end: 1157
        line_start: 1156
        source_file: /src/libfuse/include/fuse_common.h
    typedefs: []
    union: []
- function_names:
  - fuse_parse_cmdline
  - fuse_parse_cmdline
  - fuse_session_new_fn
  - fuse_session_new
  - fuse_session_custom_io
  - fuse_session_custom_io
  - fuse_session_loop_mt
  - fuse_session_loop_mt
  - fuse_session_loop_mt
  source_file: /src/libfuse/include/fuse_lowlevel.h
  types:
    enum:
    - enumerators:
      - name: FUSE_LL_INVALIDATE
        value: '0'
      - name: FUSE_LL_EXPIRE_ONLY
        value: (1 << 0)
      item_type: enum
      name: fuse_notify_entry_flags
      pos:
        line_end: 153
        line_start: 150
        source_file: /src/libfuse/include/fuse_lowlevel.h
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_ROOT_ID
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FUSE_SET_ATTR_MODE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_UID
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_GID
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_SIZE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_ATIME
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_MTIME
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_ATIME_NOW
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_MTIME_NOW
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_FORCE
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_CTIME
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_KILL_SUID
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 11)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_KILL_SGID
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_FILE
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_KILL_PRIV
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_OPEN
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 15)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_TIMES_SET
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: FUSE_SET_ATTR_TOUCH
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type_or_value: (1 << 17)
    structs:
    - fields:
      - name: ino
        type: fuse_ino_t
      - name: generation
        type: uint64_t
      - name: attr
        type: struct stat
      - name: attr_timeout
        type: double
      - name: entry_timeout
        type: double
      item_type: struct
      name: fuse_entry_param
      pos:
        line_end: 104
        line_start: 62
        source_file: /src/libfuse/include/fuse_lowlevel.h
    - fields:
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: pid
        type: pid_t
      - name: umask
        type: mode_t
      item_type: struct
      name: fuse_ctx
      pos:
        line_end: 126
        line_start: 114
        source_file: /src/libfuse/include/fuse_lowlevel.h
    - fields:
      - name: ino
        type: fuse_ino_t
      - name: nlookup
        type: uint64_t
      item_type: struct
      name: fuse_forget_data
      pos:
        line_end: 131
        line_start: 128
        source_file: /src/libfuse/include/fuse_lowlevel.h
    - fields:
      - name: (*writev)(int fd, struct iovec *iov, int count, void *userdata)
        type: ssize_t
      - name: (*read)(int fd, void *buf, size_t buf_len, void *userdata)
        type: ssize_t
      - name: "(*splice_receive)(int fdin, off_t *offin, int fdout,\n\t\t\t\t\t  off_t
          *offout, size_t len,\n\t\t\t\t  \t  unsigned int flags, void *userdata)"
        type: ssize_t
      - name: "(*splice_send)(int fdin, off_t *offin, int fdout,\n\t\t\t\t     off_t
          *offout, size_t len,\n\t\t\t           unsigned int flags, void *userdata)"
        type: ssize_t
      - name: (*clone_fd)(int master_fd)
        type: int
      item_type: struct
      name: fuse_custom_io
      pos:
        line_end: 143
        line_start: 133
        source_file: /src/libfuse/include/fuse_lowlevel.h
    - fields:
      - name: (*init) (void *userdata, struct fuse_conn_info *conn)
        type: void
      - name: (*destroy) (void *userdata)
        type: void
      - name: (*lookup) (fuse_req_t req, fuse_ino_t parent, const char *name)
        type: void
      - name: (*forget) (fuse_req_t req, fuse_ino_t ino, uint64_t nlookup)
        type: void
      - name: "(*getattr) (fuse_req_t req, fuse_ino_t ino,\n\t\t\t struct fuse_file_info
          *fi)"
        type: void
      - name: "(*setattr) (fuse_req_t req, fuse_ino_t ino, struct stat *attr,\n\t\t\t
          int to_set, struct fuse_file_info *fi)"
        type: void
      - name: (*readlink) (fuse_req_t req, fuse_ino_t ino)
        type: void
      - name: "(*mknod) (fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t
          \      mode_t mode, dev_t rdev)"
        type: void
      - name: "(*mkdir) (fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t
          \      mode_t mode)"
        type: void
      - name: (*unlink) (fuse_req_t req, fuse_ino_t parent, const char *name)
        type: void
      - name: (*rmdir) (fuse_req_t req, fuse_ino_t parent, const char *name)
        type: void
      - name: "(*symlink) (fuse_req_t req, const char *link, fuse_ino_t parent,\n\t\t\t
          const char *name)"
        type: void
      - name: "(*rename) (fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t\tfuse_ino_t
          newparent, const char *newname,\n\t\t\tunsigned int flags)"
        type: void
      - name: "(*link) (fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,\n\t\t
          \     const char *newname)"
        type: void
      - name: "(*open) (fuse_req_t req, fuse_ino_t ino,\n\t\t      struct fuse_file_info
          *fi)"
        type: void
      - name: "(*read) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,\n\t\t
          \     struct fuse_file_info *fi)"
        type: void
      - name: "(*write) (fuse_req_t req, fuse_ino_t ino, const char *buf,\n\t\t       size_t
          size, off_t off, struct fuse_file_info *fi)"
        type: void
      - name: "(*flush) (fuse_req_t req, fuse_ino_t ino,\n\t\t       struct fuse_file_info
          *fi)"
        type: void
      - name: "(*release) (fuse_req_t req, fuse_ino_t ino,\n\t\t\t struct fuse_file_info
          *fi)"
        type: void
      - name: "(*fsync) (fuse_req_t req, fuse_ino_t ino, int datasync,\n\t\t       struct
          fuse_file_info *fi)"
        type: void
      - name: "(*opendir) (fuse_req_t req, fuse_ino_t ino,\n\t\t\t struct fuse_file_info
          *fi)"
        type: void
      - name: "(*readdir) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t off,\n\t\t\t
          struct fuse_file_info *fi)"
        type: void
      - name: "(*releasedir) (fuse_req_t req, fuse_ino_t ino,\n\t\t\t    struct fuse_file_info
          *fi)"
        type: void
      - name: "(*fsyncdir) (fuse_req_t req, fuse_ino_t ino, int datasync,\n\t\t\t
          \ struct fuse_file_info *fi)"
        type: void
      - name: (*statfs) (fuse_req_t req, fuse_ino_t ino)
        type: void
      - name: "(*setxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,\n\t\t\t
          \ const char *value, size_t size, int flags)"
        type: void
      - name: "(*getxattr) (fuse_req_t req, fuse_ino_t ino, const char *name,\n\t\t\t
          \ size_t size)"
        type: void
      - name: (*listxattr) (fuse_req_t req, fuse_ino_t ino, size_t size)
        type: void
      - name: (*removexattr) (fuse_req_t req, fuse_ino_t ino, const char *name)
        type: void
      - name: (*access) (fuse_req_t req, fuse_ino_t ino, int mask)
        type: void
      - name: "(*create) (fuse_req_t req, fuse_ino_t parent, const char *name,\n\t\t\tmode_t
          mode, struct fuse_file_info *fi)"
        type: void
      - name: "(*getlk) (fuse_req_t req, fuse_ino_t ino,\n\t\t       struct fuse_file_info
          *fi, struct flock *lock)"
        type: void
      - name: "(*setlk) (fuse_req_t req, fuse_ino_t ino,\n\t\t       struct fuse_file_info
          *fi,\n\t\t       struct flock *lock, int sleep)"
        type: void
      - name: "(*bmap) (fuse_req_t req, fuse_ino_t ino, size_t blocksize,\n\t\t      uint64_t
          idx)"
        type: void
      - name: "(*poll) (fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi,\n\t\t
          \     struct fuse_pollhandle *ph)"
        type: void
      - name: "(*write_buf) (fuse_req_t req, fuse_ino_t ino,\n\t\t\t   struct fuse_bufvec
          *bufv, off_t off,\n\t\t\t   struct fuse_file_info *fi)"
        type: void
      - name: "(*retrieve_reply) (fuse_req_t req, void *cookie, fuse_ino_t ino,\n\t\t\t\toff_t
          offset, struct fuse_bufvec *bufv)"
        type: void
      - name: "(*forget_multi) (fuse_req_t req, size_t count,\n\t\t\t      struct
          fuse_forget_data *forgets)"
        type: void
      - name: "(*flock) (fuse_req_t req, fuse_ino_t ino,\n\t\t       struct fuse_file_info
          *fi, int op)"
        type: void
      - name: "(*fallocate) (fuse_req_t req, fuse_ino_t ino, int mode,\n\t\t       off_t
          offset, off_t length, struct fuse_file_info *fi)"
        type: void
      - name: "(*readdirplus) (fuse_req_t req, fuse_ino_t ino, size_t size, off_t
          off,\n\t\t\t struct fuse_file_info *fi)"
        type: void
      - name: "(*copy_file_range) (fuse_req_t req, fuse_ino_t ino_in,\n\t\t\t\t off_t
          off_in, struct fuse_file_info *fi_in,\n\t\t\t\t fuse_ino_t ino_out, off_t
          off_out,\n\t\t\t\t struct fuse_file_info *fi_out, size_t len,\n\t\t\t\t
          int flags)"
        type: void
      - name: "(*lseek) (fuse_req_t req, fuse_ino_t ino, off_t off, int whence,\n\t\t
          \      struct fuse_file_info *fi)"
        type: void
      - name: "(*tmpfile) (fuse_req_t req, fuse_ino_t parent,\n\t\t\tmode_t mode,
          struct fuse_file_info *fi)"
        type: void
      - name: "(*statx)(fuse_req_t req, fuse_ino_t ino, int flags, int mask,\n\t\t
          \     struct fuse_file_info *fi)"
        type: void
      item_type: struct
      name: fuse_lowlevel_ops
      pos:
        line_end: 1344
        line_start: 208
        source_file: /src/libfuse/include/fuse_lowlevel.h
    - fields:
      - name: singlethread
        type: int
      - name: foreground
        type: int
      - name: debug
        type: int
      - name: nodefault_subtype
        type: int
      - name: '*mountpoint'
        type: char
      - name: show_version
        type: int
      - name: show_help
        type: int
      - name: clone_fd
        type: int
      - name: max_idle_threads
        type: unsigned int
      - name: max_threads
        type: unsigned int
      item_type: struct
      name: fuse_cmdline_opts
      pos:
        line_end: 2061
        line_start: 2047
        source_file: /src/libfuse/include/fuse_lowlevel.h
    typedefs:
    - item_type: typedef
      name: fuse_ino_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type: uint64_t
    - item_type: typedef
      name: '*fuse_req_t'
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type: fuse_req
    - item_type: typedef
      name: (*fuse_interrupt_func_t)(fuse_req_t req, void *data)
      pos:
        line_end: 1992
        line_start: 1992
        source_file: /src/libfuse/include/fuse_lowlevel.h
      type: void
    union: []
- function_names: []
  source_file: /src/libfuse/include/fuse_log.h
  types:
    enum:
    - enumerators:
      - name: FUSE_LOG_EMERG
      - name: FUSE_LOG_ALERT
      - name: FUSE_LOG_WARNING
      - name: FUSE_LOG_ERR
      - name: FUSE_LOG_CRIT
      - name: FUSE_LOG_NOTICE
      - name: FUSE_LOG_INFO
      - name: FUSE_LOG_DEBUG
      item_type: enum
      name: fuse_log_level
      pos:
        line_end: 36
        line_start: 27
        source_file: /src/libfuse/include/fuse_log.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*fuse_log_func_t)(enum fuse_log_level level,\n\t\t\t\tconst char *fmt,
        va_list ap)"
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libfuse/include/fuse_log.h
      type: void
    union: []
- function_names: []
  source_file: /src/libfuse/include/fuse_mount_compat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MS_DIRSYNC
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libfuse/include/fuse_mount_compat.h
      type_or_value: '128'
    - item_type: preproc_def
      name: MS_NOSYMFOLLOW
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libfuse/include/fuse_mount_compat.h
      type_or_value: '256'
    - item_type: preproc_def
      name: MS_REC
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libfuse/include/fuse_mount_compat.h
      type_or_value: '16384'
    - item_type: preproc_def
      name: MS_PRIVATE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libfuse/include/fuse_mount_compat.h
      type_or_value: (1<<18)
    - item_type: preproc_def
      name: MS_LAZYTIME
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libfuse/include/fuse_mount_compat.h
      type_or_value: (1<<25)
    - item_type: preproc_def
      name: UMOUNT_DETACH
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libfuse/include/fuse_mount_compat.h
      type_or_value: "0x00000002\t"
    - item_type: preproc_def
      name: UMOUNT_NOFOLLOW
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libfuse/include/fuse_mount_compat.h
      type_or_value: "0x00000008\t"
    - item_type: preproc_def
      name: UMOUNT_UNUSED
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libfuse/include/fuse_mount_compat.h
      type_or_value: "0x80000000\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuse_main_real
  - fuse_main_fn
  - fuse_main
  - fuse_new_fn
  - fuse_new_fn
  - fuse_new
  - fuse_loop_mt
  - fuse_loop_mt
  - fuse_loop_mt
  - FUSE_REGISTER_MODULE
  source_file: /src/libfuse/include/fuse.h
  types:
    enum:
    - enumerators:
      - name: FUSE_READDIR_DEFAULTS
        value: '0'
      - name: FUSE_READDIR_PLUS
        value: (1 << 0)
      item_type: enum
      name: fuse_readdir_flags
      pos:
        line_end: 55
        line_start: 44
        source_file: /src/libfuse/include/fuse.h
    - enumerators:
      - name: FUSE_FILL_DIR_DEFAULTS
        value: '0'
      - name: FUSE_FILL_DIR_PLUS
        value: (1 << 1)
      item_type: enum
      name: fuse_fill_dir_flags
      pos:
        line_end: 72
        line_start: 60
        source_file: /src/libfuse/include/fuse.h
    preproc_defs: []
    structs:
    - fields:
      - name: set_gid
        type: int32_t
      - name: gid
        type: uint32_t
      - name: set_uid
        type: int32_t
      - name: uid
        type: uint32_t
      - name: set_mode
        type: int32_t
      - name: umask
        type: uint32_t
      - name: entry_timeout
        type: double
      - name: negative_timeout
        type: double
      - name: attr_timeout
        type: double
      - name: intr
        type: int32_t
      - name: intr_signal
        type: int32_t
      - name: remember
        type: int32_t
      - name: hard_remove
        type: int32_t
      - name: use_ino
        type: int32_t
      - name: readdir_ino
        type: int32_t
      - name: direct_io
        type: int32_t
      - name: kernel_cache
        type: int32_t
      - name: auto_cache
        type: int32_t
      - name: ac_attr_timeout_set
        type: int32_t
      - name: ac_attr_timeout
        type: double
      - name: nullpath_ok
        type: int32_t
      - name: show_help
        type: int32_t
      - name: '*modules'
        type: char
      - name: debug
        type: int32_t
      - name: fmask
        type: uint32_t
      - name: dmask
        type: uint32_t
      - name: no_rofd_flush
        type: int32_t
      - name: parallel_direct_writes
        type: int32_t
      - name: flags
        type: uint32_t
      - name: reserved[48]
        type: uint64_t
      item_type: struct
      name: fuse_config
      pos:
        line_end: 326
        line_start: 103
        source_file: /src/libfuse/include/fuse.h
    - fields:
      - name: (*getattr) (const char *, struct stat *, struct fuse_file_info *fi)
        type: int
      - name: (*readlink) (const char *, char *, size_t)
        type: int
      - name: (*mknod) (const char *, mode_t, dev_t)
        type: int
      - name: (*mkdir) (const char *, mode_t)
        type: int
      - name: (*unlink) (const char *)
        type: int
      - name: (*rmdir) (const char *)
        type: int
      - name: (*symlink) (const char *, const char *)
        type: int
      - name: (*rename) (const char *, const char *, unsigned int flags)
        type: int
      - name: (*link) (const char *, const char *)
        type: int
      - name: (*chmod) (const char *, mode_t, struct fuse_file_info *fi)
        type: int
      - name: (*chown) (const char *, uid_t, gid_t, struct fuse_file_info *fi)
        type: int
      - name: (*truncate) (const char *, off_t, struct fuse_file_info *fi)
        type: int
      - name: (*open) (const char *, struct fuse_file_info *)
        type: int
      - name: "(*read) (const char *, char *, size_t, off_t,\n\t\t     struct fuse_file_info
          *)"
        type: int
      - name: "(*write) (const char *, const char *, size_t, off_t,\n\t\t      struct
          fuse_file_info *)"
        type: int
      - name: (*statfs) (const char *, struct statvfs *)
        type: int
      - name: (*flush) (const char *, struct fuse_file_info *)
        type: int
      - name: (*release) (const char *, struct fuse_file_info *)
        type: int
      - name: (*fsync) (const char *, int, struct fuse_file_info *)
        type: int
      - name: (*setxattr) (const char *, const char *, const char *, size_t, int)
        type: int
      - name: (*getxattr) (const char *, const char *, char *, size_t)
        type: int
      - name: (*listxattr) (const char *, char *, size_t)
        type: int
      - name: (*removexattr) (const char *, const char *)
        type: int
      - name: (*opendir) (const char *, struct fuse_file_info *)
        type: int
      - name: "(*readdir) (const char *, void *, fuse_fill_dir_t, off_t,\n\t\t\tstruct
          fuse_file_info *, enum fuse_readdir_flags)"
        type: int
      - name: (*releasedir) (const char *, struct fuse_file_info *)
        type: int
      - name: (*fsyncdir) (const char *, int, struct fuse_file_info *)
        type: int
      - name: "*(*init) (struct fuse_conn_info *conn,\n\t\t       struct fuse_config
          *cfg)"
        type: void
      - name: (*destroy) (void *private_data)
        type: void
      - name: (*access) (const char *, int)
        type: int
      - name: (*create) (const char *, mode_t, struct fuse_file_info *)
        type: int
      - name: "(*lock) (const char *, struct fuse_file_info *, int cmd,\n\t\t     struct
          flock *)"
        type: int
      - name: "(*utimens) (const char *, const struct timespec tv[2],\n\t\t\t struct
          fuse_file_info *fi)"
        type: int
      - name: (*bmap) (const char *, size_t blocksize, uint64_t *idx)
        type: int
      - name: "(*poll) (const char *, struct fuse_file_info *,\n\t\t     struct fuse_pollhandle
          *ph, unsigned *reventsp)"
        type: int
      - name: "(*write_buf) (const char *, struct fuse_bufvec *buf, off_t off,\n\t\t\t
          \ struct fuse_file_info *)"
        type: int
      - name: "(*read_buf) (const char *, struct fuse_bufvec **bufp,\n\t\t\t size_t
          size, off_t off, struct fuse_file_info *)"
        type: int
      - name: (*flock) (const char *, struct fuse_file_info *, int op)
        type: int
      - name: "(*fallocate) (const char *, int, off_t, off_t,\n\t\t\t  struct fuse_file_info
          *)"
        type: int
      - name: "(*copy_file_range) (const char *path_in,\n\t\t\t\t    struct fuse_file_info
          *fi_in,\n\t\t\t\t    off_t offset_in, const char *path_out,\n\t\t\t\t    struct
          fuse_file_info *fi_out,\n\t\t\t\t    off_t offset_out, size_t size, int
          flags)"
        type: ssize_t
      - name: (*lseek) (const char *, off_t off, int whence, struct fuse_file_info
          *)
        type: off_t
      - name: "(*statx)(const char *path, int flags, int mask, struct statx *stxbuf,\n\t\t
          \    struct fuse_file_info *fi)"
        type: int
      item_type: struct
      name: fuse_operations
      pos:
        line_end: 866
        line_start: 351
        source_file: /src/libfuse/include/fuse.h
    - fields:
      - name: '*fuse'
        type: struct fuse
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: pid
        type: pid_t
      - name: '*private_data'
        type: void
      - name: umask
        type: mode_t
      item_type: struct
      name: fuse_context
      pos:
        line_end: 891
        line_start: 873
        source_file: /src/libfuse/include/fuse.h
    typedefs:
    - item_type: typedef
      name: "(*fuse_fill_dir_t) (void *buf, const char *name,\n\t\t\t\tconst struct
        stat *stbuf, off_t off,\n\t\t\t\tenum fuse_fill_dir_flags flags)"
      pos:
        line_end: 91
        line_start: 89
        source_file: /src/libfuse/include/fuse.h
      type: int
    - item_type: typedef
      name: "*(*fuse_module_factory_t)(struct fuse_args *args,\n\t\t\t\t\t\t struct
        fuse_fs *fs[])"
      pos:
        line_end: 1399
        line_start: 1398
        source_file: /src/libfuse/include/fuse.h
      type: fuse_fs
    union: []
- function_names:
  - FUSE_REC_ALIGN
  - FUSE_DIRENT_ALIGN
  - FUSE_DIRENT_SIZE
  - FUSE_DIRENTPLUS_SIZE
  source_file: /src/libfuse/include/fuse_kernel.h
  types:
    enum:
    - enumerators:
      - name: FUSE_MAX_NR_SECCTX
        value: '31'
      - name: FUSE_EXT_GROUPS
        value: '32'
      item_type: enum
      name: fuse_ext_type
      pos:
        line_end: 610
        line_start: 606
        source_file: /src/libfuse/include/fuse_kernel.h
    - enumerators:
      - name: FUSE_FORGET
        value: '2'
      - name: FUSE_READLINK
        value: '5'
      - name: FUSE_UNLINK
        value: '10'
      - name: FUSE_RELEASE
        value: '18'
      - name: FUSE_OPEN
        value: '14'
      - name: FUSE_LISTXATTR
        value: '23'
      - name: FUSE_OPENDIR
        value: '27'
      - name: FUSE_GETLK
        value: '31'
      - name: FUSE_CREATE
        value: '35'
      - name: FUSE_NOTIFY_REPLY
        value: '41'
      - name: FUSE_RENAME2
        value: '45'
      - name: FUSE_SETUPMAPPING
        value: '48'
      - name: FUSE_INIT_BSWAP_RESERVED
        value: '436207616'
      - name: FUSE_TMPFILE
        value: '51'
      - name: CUSE_INIT
        value: '4096'
      - name: FUSE_SETATTR
        value: '4'
      - name: FUSE_MKDIR
        value: '9'
      - name: FUSE_STATFS
        value: '17'
      - name: FUSE_LINK
        value: '13'
      - name: FUSE_GETXATTR
        value: '22'
      - name: FUSE_INIT
        value: '26'
      - name: FUSE_FSYNCDIR
        value: '30'
      - name: FUSE_ACCESS
        value: '34'
      - name: FUSE_DESTROY
        value: '38'
      - name: FUSE_POLL
        value: '40'
      - name: FUSE_READDIRPLUS
        value: '44'
      - name: FUSE_COPY_FILE_RANGE
        value: '47'
      - name: FUSE_SYNCFS
        value: '50'
      - name: FUSE_COPY_FILE_RANGE_64
        value: '53'
      - name: FUSE_LOOKUP
        value: '1'
      - name: FUSE_MKNOD
        value: '8'
      - name: FUSE_RENAME
        value: '12'
      - name: FUSE_WRITE
        value: '16'
      - name: FUSE_SETXATTR
        value: '21'
      - name: FUSE_FLUSH
        value: '25'
      - name: FUSE_RELEASEDIR
        value: '29'
      - name: FUSE_SETLKW
        value: '33'
      - name: FUSE_BMAP
        value: '37'
      - name: FUSE_IOCTL
        value: '39'
      - name: CUSE_INIT_BSWAP_RESERVED
        value: '1048576'
      - name: FUSE_FALLOCATE
        value: '43'
      - name: FUSE_LSEEK
        value: '46'
      - name: FUSE_REMOVEMAPPING
        value: '49'
      - name: FUSE_GETATTR
        value: '3'
      - name: FUSE_SYMLINK
        value: '6'
      - name: FUSE_RMDIR
        value: '11'
      - name: FUSE_READ
        value: '15'
      - name: FUSE_FSYNC
        value: '20'
      - name: FUSE_REMOVEXATTR
        value: '24'
      - name: FUSE_READDIR
        value: '28'
      - name: FUSE_SETLK
        value: '32'
      - name: FUSE_INTERRUPT
        value: '36'
      - name: FUSE_BATCH_FORGET
        value: '42'
      - name: FUSE_STATX
        value: '52'
      item_type: enum
      name: fuse_opcode
      pos:
        line_end: 671
        line_start: 612
        source_file: /src/libfuse/include/fuse_kernel.h
    - enumerators:
      - name: FUSE_NOTIFY_POLL
        value: '1'
      - name: FUSE_NOTIFY_INVAL_INODE
        value: '2'
      - name: FUSE_NOTIFY_STORE
        value: '4'
      - name: FUSE_NOTIFY_RETRIEVE
        value: '5'
      - name: FUSE_NOTIFY_INVAL_ENTRY
        value: '3'
      - name: FUSE_NOTIFY_DELETE
        value: '6'
      - name: FUSE_NOTIFY_RESEND
        value: '7'
      - name: FUSE_NOTIFY_INC_EPOCH
        value: '8'
      - name: FUSE_NOTIFY_CODE_MAX
      item_type: enum
      name: fuse_notify_code
      pos:
        line_end: 683
        line_start: 673
        source_file: /src/libfuse/include/fuse_kernel.h
    - enumerators:
      - name: FUSE_IO_URING_CMD_INVALID
        value: '0'
      - name: FUSE_IO_URING_CMD_REGISTER
        value: '1'
      - name: FUSE_IO_URING_CMD_COMMIT_AND_FETCH
        value: '2'
      item_type: enum
      name: fuse_uring_cmd
      pos:
        line_end: 1286
        line_start: 1278
        source_file: /src/libfuse/include/fuse_kernel.h
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_KERNEL_VERSION
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '7'
    - item_type: preproc_def
      name: FUSE_KERNEL_MINOR_VERSION
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '45'
    - item_type: preproc_def
      name: FUSE_ROOT_ID
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FATTR_MODE
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FATTR_UID
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FATTR_GID
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FATTR_SIZE
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: FATTR_ATIME
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: FATTR_MTIME
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: FATTR_FH
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: FATTR_ATIME_NOW
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: FATTR_MTIME_NOW
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: FATTR_LOCKOWNER
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: FATTR_CTIME
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: FATTR_KILL_SUIDGID
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 11)
    - item_type: preproc_def
      name: FOPEN_DIRECT_IO
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FOPEN_KEEP_CACHE
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FOPEN_NONSEEKABLE
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FOPEN_CACHE_DIR
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: FOPEN_STREAM
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: FOPEN_NOFLUSH
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: FOPEN_PARALLEL_DIRECT_WRITES
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: FOPEN_PASSTHROUGH
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: FUSE_ASYNC_READ
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_POSIX_LOCKS
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FUSE_FILE_OPS
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FUSE_ATOMIC_O_TRUNC
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: FUSE_EXPORT_SUPPORT
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: FUSE_BIG_WRITES
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: FUSE_DONT_MASK
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: FUSE_SPLICE_WRITE
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: FUSE_SPLICE_MOVE
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: FUSE_SPLICE_READ
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: FUSE_FLOCK_LOCKS
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: FUSE_HAS_IOCTL_DIR
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 11)
    - item_type: preproc_def
      name: FUSE_AUTO_INVAL_DATA
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: FUSE_DO_READDIRPLUS
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 13)
    - item_type: preproc_def
      name: FUSE_READDIRPLUS_AUTO
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: FUSE_ASYNC_DIO
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 15)
    - item_type: preproc_def
      name: FUSE_WRITEBACK_CACHE
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: FUSE_NO_OPEN_SUPPORT
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 17)
    - item_type: preproc_def
      name: FUSE_PARALLEL_DIROPS
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 18)
    - item_type: preproc_def
      name: FUSE_HANDLE_KILLPRIV
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 19)
    - item_type: preproc_def
      name: FUSE_POSIX_ACL
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 20)
    - item_type: preproc_def
      name: FUSE_ABORT_ERROR
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 21)
    - item_type: preproc_def
      name: FUSE_MAX_PAGES
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 22)
    - item_type: preproc_def
      name: FUSE_CACHE_SYMLINKS
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 23)
    - item_type: preproc_def
      name: FUSE_NO_OPENDIR_SUPPORT
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 24)
    - item_type: preproc_def
      name: FUSE_EXPLICIT_INVAL_DATA
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 25)
    - item_type: preproc_def
      name: FUSE_MAP_ALIGNMENT
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 26)
    - item_type: preproc_def
      name: FUSE_SUBMOUNTS
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 27)
    - item_type: preproc_def
      name: FUSE_HANDLE_KILLPRIV_V2
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 28)
    - item_type: preproc_def
      name: FUSE_SETXATTR_EXT
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 29)
    - item_type: preproc_def
      name: FUSE_INIT_EXT
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 30)
    - item_type: preproc_def
      name: FUSE_INIT_RESERVED
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 31)
    - item_type: preproc_def
      name: FUSE_SECURITY_CTX
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 32)
    - item_type: preproc_def
      name: FUSE_HAS_INODE_DAX
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 33)
    - item_type: preproc_def
      name: FUSE_CREATE_SUPP_GROUP
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 34)
    - item_type: preproc_def
      name: FUSE_HAS_EXPIRE_ONLY
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 35)
    - item_type: preproc_def
      name: FUSE_DIRECT_IO_ALLOW_MMAP
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 36)
    - item_type: preproc_def
      name: FUSE_PASSTHROUGH
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 37)
    - item_type: preproc_def
      name: FUSE_NO_EXPORT_SUPPORT
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 38)
    - item_type: preproc_def
      name: FUSE_HAS_RESEND
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 39)
    - item_type: preproc_def
      name: FUSE_DIRECT_IO_RELAX
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: FUSE_DIRECT_IO_ALLOW_MMAP
    - item_type: preproc_def
      name: FUSE_ALLOW_IDMAP
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 40)
    - item_type: preproc_def
      name: FUSE_OVER_IO_URING
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 41)
    - item_type: preproc_def
      name: FUSE_REQUEST_TIMEOUT
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 42)
    - item_type: preproc_def
      name: CUSE_UNRESTRICTED_IOCTL
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_RELEASE_FLUSH
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_RELEASE_FLOCK_UNLOCK
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FUSE_GETATTR_FH
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_LK_FLOCK
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_WRITE_CACHE
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_WRITE_LOCKOWNER
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FUSE_WRITE_KILL_SUIDGID
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FUSE_WRITE_KILL_PRIV
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: FUSE_WRITE_KILL_SUIDGID
    - item_type: preproc_def
      name: FUSE_READ_LOCKOWNER
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FUSE_IOCTL_COMPAT
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_IOCTL_UNRESTRICTED
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FUSE_IOCTL_RETRY
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FUSE_IOCTL_32BIT
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: FUSE_IOCTL_DIR
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: FUSE_IOCTL_COMPAT_X32
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: FUSE_IOCTL_MAX_IOV
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '256'
    - item_type: preproc_def
      name: FUSE_POLL_SCHEDULE_NOTIFY
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_FSYNC_FDATASYNC
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_ATTR_SUBMOUNT
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_ATTR_DAX
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FUSE_OPEN_KILL_SUIDGID
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_SETXATTR_ACL_KILL_SGID
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_EXPIRE_ONLY
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: FUSE_MIN_READ_BUFFER
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: FUSE_COMPAT_ENTRY_OUT_SIZE
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '120'
    - item_type: preproc_def
      name: FUSE_COMPAT_ATTR_OUT_SIZE
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '96'
    - item_type: preproc_def
      name: FUSE_COMPAT_MKNOD_IN_SIZE
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '8'
    - item_type: preproc_def
      name: FUSE_COMPAT_WRITE_IN_SIZE
      pos:
        line_end: 836
        line_start: 835
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '24'
    - item_type: preproc_def
      name: FUSE_COMPAT_STATFS_SIZE
      pos:
        line_end: 853
        line_start: 852
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '48'
    - item_type: preproc_def
      name: FUSE_COMPAT_SETXATTR_IN_SIZE
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '8'
    - item_type: preproc_def
      name: FUSE_COMPAT_INIT_OUT_SIZE
      pos:
        line_end: 910
        line_start: 909
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '8'
    - item_type: preproc_def
      name: FUSE_COMPAT_22_INIT_OUT_SIZE
      pos:
        line_end: 911
        line_start: 910
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '24'
    - item_type: preproc_def
      name: CUSE_INIT_INFO_MAX
      pos:
        line_end: 930
        line_start: 929
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: FUSE_UNIQUE_RESEND
      pos:
        line_end: 1016
        line_start: 1015
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ULL << 63)
    - item_type: preproc_def
      name: FUSE_INVALID_UIDGID
      pos:
        line_end: 1031
        line_start: 1030
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: ((uint32_t)(-1))
    - item_type: preproc_def
      name: FUSE_NAME_OFFSET
      pos:
        line_end: 1063
        line_start: 1062
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: offsetof(struct fuse_dirent, name)
    - item_type: preproc_def
      name: FUSE_NAME_OFFSET_DIRENTPLUS
      pos:
        line_end: 1074
        line_start: 1072
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: offsetof(struct fuse_direntplus, dirent.name)
    - item_type: preproc_def
      name: FUSE_DEV_IOC_MAGIC
      pos:
        line_end: 1129
        line_start: 1128
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '229'
    - item_type: preproc_def
      name: FUSE_DEV_IOC_CLONE
      pos:
        line_end: 1130
        line_start: 1129
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: _IOR(FUSE_DEV_IOC_MAGIC, 0, uint32_t)
    - item_type: preproc_def
      name: FUSE_DEV_IOC_BACKING_OPEN
      pos:
        line_end: 1132
        line_start: 1130
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: "_IOW(FUSE_DEV_IOC_MAGIC, 1, \\\n\t\t\t\t\t     struct fuse_backing_map)"
    - item_type: preproc_def
      name: FUSE_DEV_IOC_BACKING_CLOSE
      pos:
        line_end: 1133
        line_start: 1132
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: _IOW(FUSE_DEV_IOC_MAGIC, 2, uint32_t)
    - item_type: preproc_def
      name: FUSE_SETUPMAPPING_FLAG_WRITE
      pos:
        line_end: 1161
        line_start: 1160
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ull << 0)
    - item_type: preproc_def
      name: FUSE_SETUPMAPPING_FLAG_READ
      pos:
        line_end: 1162
        line_start: 1161
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (1ull << 1)
    - item_type: preproc_def
      name: FUSE_REMOVEMAPPING_MAX_ENTRY
      pos:
        line_end: 1189
        line_start: 1187
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: (PAGE_SIZE / sizeof(struct fuse_removemapping_one))
    - item_type: preproc_def
      name: FUSE_URING_IN_OUT_HEADER_SZ
      pos:
        line_end: 1243
        line_start: 1242
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '128'
    - item_type: preproc_def
      name: FUSE_URING_OP_IN_OUT_SZ
      pos:
        line_end: 1244
        line_start: 1243
        source_file: /src/libfuse/include/fuse_kernel.h
      type_or_value: '128'
    structs:
    - fields:
      - name: ino
        type: uint64_t
      - name: size
        type: uint64_t
      - name: blocks
        type: uint64_t
      - name: atime
        type: uint64_t
      - name: mtime
        type: uint64_t
      - name: ctime
        type: uint64_t
      - name: atimensec
        type: uint32_t
      - name: mtimensec
        type: uint32_t
      - name: ctimensec
        type: uint32_t
      - name: mode
        type: uint32_t
      - name: nlink
        type: uint32_t
      - name: uid
        type: uint32_t
      - name: gid
        type: uint32_t
      - name: rdev
        type: uint32_t
      - name: blksize
        type: uint32_t
      - name: flags
        type: uint32_t
      item_type: struct
      name: fuse_attr
      pos:
        line_end: 301
        line_start: 284
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: tv_sec
        type: int64_t
      - name: tv_nsec
        type: uint32_t
      - name: __reserved
        type: int32_t
      item_type: struct
      name: fuse_sx_time
      pos:
        line_end: 311
        line_start: 307
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: mask
        type: uint32_t
      - name: blksize
        type: uint32_t
      - name: attributes
        type: uint64_t
      - name: nlink
        type: uint32_t
      - name: uid
        type: uint32_t
      - name: gid
        type: uint32_t
      - name: mode
        type: uint16_t
      - name: __spare0[1]
        type: uint16_t
      - name: ino
        type: uint64_t
      - name: size
        type: uint64_t
      - name: blocks
        type: uint64_t
      - name: attributes_mask
        type: uint64_t
      - name: atime
        type: struct fuse_sx_time
      - name: btime
        type: struct fuse_sx_time
      - name: ctime
        type: struct fuse_sx_time
      - name: mtime
        type: struct fuse_sx_time
      - name: rdev_major
        type: uint32_t
      - name: rdev_minor
        type: uint32_t
      - name: dev_major
        type: uint32_t
      - name: dev_minor
        type: uint32_t
      - name: __spare2[14]
        type: uint64_t
      item_type: struct
      name: fuse_statx
      pos:
        line_end: 335
        line_start: 313
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: blocks
        type: uint64_t
      - name: bfree
        type: uint64_t
      - name: bavail
        type: uint64_t
      - name: files
        type: uint64_t
      - name: ffree
        type: uint64_t
      - name: bsize
        type: uint32_t
      - name: namelen
        type: uint32_t
      - name: frsize
        type: uint32_t
      - name: padding
        type: uint32_t
      - name: spare[6]
        type: uint32_t
      item_type: struct
      name: fuse_kstatfs
      pos:
        line_end: 348
        line_start: 337
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: start
        type: uint64_t
      - name: end
        type: uint64_t
      - name: type
        type: uint32_t
      - name: pid
        type: uint32_t
      item_type: struct
      name: fuse_file_lock
      pos:
        line_end: 355
        line_start: 350
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: nodeid
        type: uint64_t
      - name: generation
        type: uint64_t
      - name: entry_valid
        type: uint64_t
      - name: attr_valid
        type: uint64_t
      - name: entry_valid_nsec
        type: uint32_t
      - name: attr_valid_nsec
        type: uint32_t
      - name: attr
        type: struct fuse_attr
      item_type: struct
      name: fuse_entry_out
      pos:
        line_end: 699
        line_start: 690
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: nlookup
        type: uint64_t
      item_type: struct
      name: fuse_forget_in
      pos:
        line_end: 703
        line_start: 701
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: nodeid
        type: uint64_t
      - name: nlookup
        type: uint64_t
      item_type: struct
      name: fuse_forget_one
      pos:
        line_end: 708
        line_start: 705
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: count
        type: uint32_t
      - name: dummy
        type: uint32_t
      item_type: struct
      name: fuse_batch_forget_in
      pos:
        line_end: 713
        line_start: 710
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: getattr_flags
        type: uint32_t
      - name: dummy
        type: uint32_t
      - name: fh
        type: uint64_t
      item_type: struct
      name: fuse_getattr_in
      pos:
        line_end: 719
        line_start: 715
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: attr_valid
        type: uint64_t
      - name: attr_valid_nsec
        type: uint32_t
      - name: dummy
        type: uint32_t
      - name: attr
        type: struct fuse_attr
      item_type: struct
      name: fuse_attr_out
      pos:
        line_end: 728
        line_start: 723
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: getattr_flags
        type: uint32_t
      - name: reserved
        type: uint32_t
      - name: fh
        type: uint64_t
      - name: sx_flags
        type: uint32_t
      - name: sx_mask
        type: uint32_t
      item_type: struct
      name: fuse_statx_in
      pos:
        line_end: 736
        line_start: 730
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: attr_valid
        type: uint64_t
      - name: attr_valid_nsec
        type: uint32_t
      - name: flags
        type: uint32_t
      - name: spare[2]
        type: uint64_t
      - name: stat
        type: struct fuse_statx
      item_type: struct
      name: fuse_statx_out
      pos:
        line_end: 744
        line_start: 738
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: mode
        type: uint32_t
      - name: rdev
        type: uint32_t
      - name: umask
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_mknod_in
      pos:
        line_end: 753
        line_start: 748
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: mode
        type: uint32_t
      - name: umask
        type: uint32_t
      item_type: struct
      name: fuse_mkdir_in
      pos:
        line_end: 758
        line_start: 755
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: newdir
        type: uint64_t
      item_type: struct
      name: fuse_rename_in
      pos:
        line_end: 762
        line_start: 760
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: newdir
        type: uint64_t
      - name: flags
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_rename2_in
      pos:
        line_end: 768
        line_start: 764
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: oldnodeid
        type: uint64_t
      item_type: struct
      name: fuse_link_in
      pos:
        line_end: 772
        line_start: 770
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: valid
        type: uint32_t
      - name: padding
        type: uint32_t
      - name: fh
        type: uint64_t
      - name: size
        type: uint64_t
      - name: lock_owner
        type: uint64_t
      - name: atime
        type: uint64_t
      - name: mtime
        type: uint64_t
      - name: ctime
        type: uint64_t
      - name: atimensec
        type: uint32_t
      - name: mtimensec
        type: uint32_t
      - name: ctimensec
        type: uint32_t
      - name: mode
        type: uint32_t
      - name: unused4
        type: uint32_t
      - name: uid
        type: uint32_t
      - name: gid
        type: uint32_t
      - name: unused5
        type: uint32_t
      item_type: struct
      name: fuse_setattr_in
      pos:
        line_end: 791
        line_start: 774
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: flags
        type: uint32_t
      - name: open_flags
        type: uint32_t
      item_type: struct
      name: fuse_open_in
      pos:
        line_end: 796
        line_start: 793
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: flags
        type: uint32_t
      - name: mode
        type: uint32_t
      - name: umask
        type: uint32_t
      - name: open_flags
        type: uint32_t
      item_type: struct
      name: fuse_create_in
      pos:
        line_end: 803
        line_start: 798
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: open_flags
        type: uint32_t
      - name: backing_id
        type: int32_t
      item_type: struct
      name: fuse_open_out
      pos:
        line_end: 809
        line_start: 805
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: flags
        type: uint32_t
      - name: release_flags
        type: uint32_t
      - name: lock_owner
        type: uint64_t
      item_type: struct
      name: fuse_release_in
      pos:
        line_end: 816
        line_start: 811
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: unused
        type: uint32_t
      - name: padding
        type: uint32_t
      - name: lock_owner
        type: uint64_t
      item_type: struct
      name: fuse_flush_in
      pos:
        line_end: 823
        line_start: 818
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: offset
        type: uint64_t
      - name: size
        type: uint32_t
      - name: read_flags
        type: uint32_t
      - name: lock_owner
        type: uint64_t
      - name: flags
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_read_in
      pos:
        line_end: 833
        line_start: 825
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: offset
        type: uint64_t
      - name: size
        type: uint32_t
      - name: write_flags
        type: uint32_t
      - name: lock_owner
        type: uint64_t
      - name: flags
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_write_in
      pos:
        line_end: 845
        line_start: 837
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: size
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_write_out
      pos:
        line_end: 850
        line_start: 847
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: st
        type: struct fuse_kstatfs
      item_type: struct
      name: fuse_statfs_out
      pos:
        line_end: 856
        line_start: 854
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: fsync_flags
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_fsync_in
      pos:
        line_end: 862
        line_start: 858
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: size
        type: uint32_t
      - name: flags
        type: uint32_t
      - name: setxattr_flags
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_setxattr_in
      pos:
        line_end: 871
        line_start: 866
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: size
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_getxattr_in
      pos:
        line_end: 876
        line_start: 873
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: size
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_getxattr_out
      pos:
        line_end: 881
        line_start: 878
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: owner
        type: uint64_t
      - name: lk
        type: struct fuse_file_lock
      - name: lk_flags
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_lk_in
      pos:
        line_end: 889
        line_start: 883
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: lk
        type: struct fuse_file_lock
      item_type: struct
      name: fuse_lk_out
      pos:
        line_end: 893
        line_start: 891
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: mask
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_access_in
      pos:
        line_end: 898
        line_start: 895
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: major
        type: uint32_t
      - name: minor
        type: uint32_t
      - name: max_readahead
        type: uint32_t
      - name: flags
        type: uint32_t
      - name: flags2
        type: uint32_t
      - name: unused[11]
        type: uint32_t
      item_type: struct
      name: fuse_init_in
      pos:
        line_end: 907
        line_start: 900
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: major
        type: uint32_t
      - name: minor
        type: uint32_t
      - name: max_readahead
        type: uint32_t
      - name: flags
        type: uint32_t
      - name: max_background
        type: uint16_t
      - name: congestion_threshold
        type: uint16_t
      - name: max_write
        type: uint32_t
      - name: time_gran
        type: uint32_t
      - name: max_pages
        type: uint16_t
      - name: map_alignment
        type: uint16_t
      - name: flags2
        type: uint32_t
      - name: max_stack_depth
        type: uint32_t
      - name: request_timeout
        type: uint16_t
      - name: unused[11]
        type: uint16_t
      item_type: struct
      name: fuse_init_out
      pos:
        line_end: 927
        line_start: 912
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: major
        type: uint32_t
      - name: minor
        type: uint32_t
      - name: unused
        type: uint32_t
      - name: flags
        type: uint32_t
      item_type: struct
      name: cuse_init_in
      pos:
        line_end: 936
        line_start: 931
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: major
        type: uint32_t
      - name: minor
        type: uint32_t
      - name: unused
        type: uint32_t
      - name: flags
        type: uint32_t
      - name: max_read
        type: uint32_t
      - name: max_write
        type: uint32_t
      - name: dev_major
        type: uint32_t
      - name: dev_minor
        type: uint32_t
      - name: spare[10]
        type: uint32_t
      item_type: struct
      name: cuse_init_out
      pos:
        line_end: 948
        line_start: 938
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: unique
        type: uint64_t
      item_type: struct
      name: fuse_interrupt_in
      pos:
        line_end: 952
        line_start: 950
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: block
        type: uint64_t
      - name: blocksize
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_bmap_in
      pos:
        line_end: 958
        line_start: 954
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: block
        type: uint64_t
      item_type: struct
      name: fuse_bmap_out
      pos:
        line_end: 962
        line_start: 960
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: flags
        type: uint32_t
      - name: cmd
        type: uint32_t
      - name: arg
        type: uint64_t
      - name: in_size
        type: uint32_t
      - name: out_size
        type: uint32_t
      item_type: struct
      name: fuse_ioctl_in
      pos:
        line_end: 971
        line_start: 964
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: base
        type: uint64_t
      - name: len
        type: uint64_t
      item_type: struct
      name: fuse_ioctl_iovec
      pos:
        line_end: 976
        line_start: 973
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: result
        type: int32_t
      - name: flags
        type: uint32_t
      - name: in_iovs
        type: uint32_t
      - name: out_iovs
        type: uint32_t
      item_type: struct
      name: fuse_ioctl_out
      pos:
        line_end: 983
        line_start: 978
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: kh
        type: uint64_t
      - name: flags
        type: uint32_t
      - name: events
        type: uint32_t
      item_type: struct
      name: fuse_poll_in
      pos:
        line_end: 990
        line_start: 985
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: revents
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_poll_out
      pos:
        line_end: 995
        line_start: 992
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: kh
        type: uint64_t
      item_type: struct
      name: fuse_notify_poll_wakeup_out
      pos:
        line_end: 999
        line_start: 997
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: offset
        type: uint64_t
      - name: length
        type: uint64_t
      - name: mode
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_fallocate_in
      pos:
        line_end: 1007
        line_start: 1001
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: len
        type: uint32_t
      - name: opcode
        type: uint32_t
      - name: unique
        type: uint64_t
      - name: nodeid
        type: uint64_t
      - name: uid
        type: uint32_t
      - name: gid
        type: uint32_t
      - name: pid
        type: uint32_t
      - name: total_extlen
        type: uint16_t
      - name: padding
        type: uint16_t
      item_type: struct
      name: fuse_in_header
      pos:
        line_end: 1042
        line_start: 1032
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: len
        type: uint32_t
      - name: error
        type: int32_t
      - name: unique
        type: uint64_t
      item_type: struct
      name: fuse_out_header
      pos:
        line_end: 1048
        line_start: 1044
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: ino
        type: uint64_t
      - name: 'off'
        type: uint64_t
      - name: namelen
        type: uint32_t
      - name: type
        type: uint32_t
      - name: name[]
        type: char
      item_type: struct
      name: fuse_dirent
      pos:
        line_end: 1056
        line_start: 1050
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: entry_out
        type: struct fuse_entry_out
      - name: dirent
        type: struct fuse_dirent
      item_type: struct
      name: fuse_direntplus
      pos:
        line_end: 1070
        line_start: 1067
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: ino
        type: uint64_t
      - name: 'off'
        type: int64_t
      - name: len
        type: int64_t
      item_type: struct
      name: fuse_notify_inval_inode_out
      pos:
        line_end: 1081
        line_start: 1077
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: parent
        type: uint64_t
      - name: namelen
        type: uint32_t
      - name: flags
        type: uint32_t
      item_type: struct
      name: fuse_notify_inval_entry_out
      pos:
        line_end: 1087
        line_start: 1083
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: parent
        type: uint64_t
      - name: child
        type: uint64_t
      - name: namelen
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_notify_delete_out
      pos:
        line_end: 1094
        line_start: 1089
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: nodeid
        type: uint64_t
      - name: offset
        type: uint64_t
      - name: size
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_notify_store_out
      pos:
        line_end: 1101
        line_start: 1096
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: notify_unique
        type: uint64_t
      - name: nodeid
        type: uint64_t
      - name: offset
        type: uint64_t
      - name: size
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_notify_retrieve_out
      pos:
        line_end: 1109
        line_start: 1103
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: dummy1
        type: uint64_t
      - name: offset
        type: uint64_t
      - name: size
        type: uint32_t
      - name: dummy2
        type: uint32_t
      - name: dummy3
        type: uint64_t
      - name: dummy4
        type: uint64_t
      item_type: struct
      name: fuse_notify_retrieve_in
      pos:
        line_end: 1119
        line_start: 1112
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fd
        type: int32_t
      - name: flags
        type: uint32_t
      - name: padding
        type: uint64_t
      item_type: struct
      name: fuse_backing_map
      pos:
        line_end: 1125
        line_start: 1121
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: offset
        type: uint64_t
      - name: whence
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_lseek_in
      pos:
        line_end: 1139
        line_start: 1134
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: offset
        type: uint64_t
      item_type: struct
      name: fuse_lseek_out
      pos:
        line_end: 1143
        line_start: 1141
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh_in
        type: uint64_t
      - name: off_in
        type: uint64_t
      - name: nodeid_out
        type: uint64_t
      - name: fh_out
        type: uint64_t
      - name: off_out
        type: uint64_t
      - name: len
        type: uint64_t
      - name: flags
        type: uint64_t
      item_type: struct
      name: fuse_copy_file_range_in
      pos:
        line_end: 1153
        line_start: 1145
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: bytes_copied
        type: uint64_t
      item_type: struct
      name: fuse_copy_file_range_out
      pos:
        line_end: 1158
        line_start: 1156
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: fh
        type: uint64_t
      - name: foffset
        type: uint64_t
      - name: len
        type: uint64_t
      - name: flags
        type: uint64_t
      - name: moffset
        type: uint64_t
      item_type: struct
      name: fuse_setupmapping_in
      pos:
        line_end: 1173
        line_start: 1162
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: count
        type: uint32_t
      item_type: struct
      name: fuse_removemapping_in
      pos:
        line_end: 1178
        line_start: 1175
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: moffset
        type: uint64_t
      - name: len
        type: uint64_t
      item_type: struct
      name: fuse_removemapping_one
      pos:
        line_end: 1185
        line_start: 1180
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: padding
        type: uint64_t
      item_type: struct
      name: fuse_syncfs_in
      pos:
        line_end: 1192
        line_start: 1190
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: size
        type: uint32_t
      - name: padding
        type: uint32_t
      item_type: struct
      name: fuse_secctx
      pos:
        line_end: 1203
        line_start: 1200
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: size
        type: uint32_t
      - name: nr_secctx
        type: uint32_t
      item_type: struct
      name: fuse_secctx_header
      pos:
        line_end: 1214
        line_start: 1211
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: size
        type: uint32_t
      - name: type
        type: uint32_t
      item_type: struct
      name: fuse_ext_header
      pos:
        line_end: 1227
        line_start: 1224
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: nr_groups
        type: uint32_t
      - name: groups[]
        type: uint32_t
      item_type: struct
      name: fuse_supp_groups
      pos:
        line_end: 1237
        line_start: 1234
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: flags
        type: uint64_t
      - name: commit_id
        type: uint64_t
      - name: payload_sz
        type: uint32_t
      - name: padding
        type: uint32_t
      - name: reserved
        type: uint64_t
      item_type: struct
      name: fuse_uring_ent_in_out
      pos:
        line_end: 1260
        line_start: 1246
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: in_out[FUSE_URING_IN_OUT_HEADER_SZ]
        type: char
      - name: op_in[FUSE_URING_OP_IN_OUT_SZ]
        type: char
      - name: ring_ent_in_out
        type: struct fuse_uring_ent_in_out
      item_type: struct
      name: fuse_uring_req_header
      pos:
        line_end: 1273
        line_start: 1265
        source_file: /src/libfuse/include/fuse_kernel.h
    - fields:
      - name: flags
        type: uint64_t
      - name: commit_id
        type: uint64_t
      - name: qid
        type: uint16_t
      - name: padding[6]
        type: uint8_t
      item_type: struct
      name: fuse_uring_cmd_req
      pos:
        line_end: 1300
        line_start: 1291
        source_file: /src/libfuse/include/fuse_kernel.h
    typedefs: []
    union: []
- function_names:
  - FUSE_OPT_KEY
  - FUSE_ARGS_INIT
  source_file: /src/libfuse/include/fuse_opt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_OPT_END
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libfuse/include/fuse_opt.h
      type_or_value: '{ NULL, 0, 0 }'
    - item_type: preproc_def
      name: FUSE_OPT_KEY_OPT
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libfuse/include/fuse_opt.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: FUSE_OPT_KEY_NONOPT
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libfuse/include/fuse_opt.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: FUSE_OPT_KEY_KEEP
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libfuse/include/fuse_opt.h
      type_or_value: '-3'
    - item_type: preproc_def
      name: FUSE_OPT_KEY_DISCARD
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/libfuse/include/fuse_opt.h
      type_or_value: '-4'
    structs:
    - fields:
      - name: '*templ'
        type: char
      - name: offset
        type: unsigned long
      - name: value
        type: int
      item_type: struct
      name: fuse_opt
      pos:
        line_end: 91
        line_start: 76
        source_file: /src/libfuse/include/fuse_opt.h
    - fields:
      - name: argc
        type: int
      - name: '**argv'
        type: char
      - name: allocated
        type: int
      item_type: struct
      name: fuse_args
      pos:
        line_end: 117
        line_start: 108
        source_file: /src/libfuse/include/fuse_opt.h
    typedefs:
    - item_type: typedef
      name: "(*fuse_opt_proc_t)(void *data, const char *arg, int key,\n\t\t\t       struct
        fuse_args *outargs)"
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/libfuse/include/fuse_opt.h
      type: int
    union: []
- function_names:
  - fuse_chan_new
  - fuse_chan_get
  - fuse_chan_put
  - list_add_worker
  - list_del_worker
  - fuse_do_work
  - fuse_start_thread
  - fuse_clone_chan_fd_default
  - fuse_clone_chan
  - fuse_loop_start_thread
  - fuse_join_worker
  - fuse_session_loop_mt_312
  - fuse_session_loop_mt_32
  - fuse_session_loop_mt_31
  - fuse_loop_cfg_create
  - fuse_loop_cfg_destroy
  - fuse_loop_cfg_verify
  - fuse_loop_cfg_convert
  - fuse_loop_cfg_set_idle_threads
  - fuse_loop_cfg_set_max_threads
  - fuse_loop_cfg_set_clone_fd
  source_file: /src/libfuse/lib/fuse_loop_mt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENVNAME_THREAD_STACK
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libfuse/lib/fuse_loop_mt.c
      type_or_value: '"FUSE_THREAD_STACK"'
    - item_type: preproc_def
      name: FUSE_LOOP_MT_V2_IDENTIFIER
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libfuse/lib/fuse_loop_mt.c
      type_or_value: INT_MAX - 2
    - item_type: preproc_def
      name: FUSE_LOOP_MT_DEF_CLONE_FD
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libfuse/lib/fuse_loop_mt.c
      type_or_value: '0'
    - item_type: preproc_def
      name: FUSE_LOOP_MT_DEF_MAX_THREADS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libfuse/lib/fuse_loop_mt.c
      type_or_value: '10'
    - item_type: preproc_def
      name: FUSE_LOOP_MT_DEF_IDLE_THREADS
      pos:
        line_end: 40
        line_start: 38
        source_file: /src/libfuse/lib/fuse_loop_mt.c
      type_or_value: '-1 '
    - item_type: preproc_def
      name: FUSE_LOOP_MT_MAX_THREADS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libfuse/lib/fuse_loop_mt.c
      type_or_value: (100U * 1000)
    - item_type: preproc_def
      name: O_CLOEXEC
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/libfuse/lib/fuse_loop_mt.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*prev'
        type: struct fuse_worker
      - name: '*next'
        type: struct fuse_worker
      - name: thread_id
        type: pthread_t
      - name: fbuf
        type: struct fuse_buf
      - name: '*ch'
        type: struct fuse_chan
      - name: '*mt'
        type: struct fuse_mt
      item_type: struct
      name: fuse_worker
      pos:
        line_end: 54
        line_start: 44
        source_file: /src/libfuse/lib/fuse_loop_mt.c
    - fields:
      - name: numworker
        type: int
      - name: numavail
        type: int
      - name: '*se'
        type: struct fuse_session
      - name: main
        type: struct fuse_worker
      - name: error
        type: int
      - name: clone_fd
        type: int
      - name: max_idle
        type: int
      - name: max_threads
        type: int
      item_type: struct
      name: fuse_mt
      pos:
        line_end: 66
        line_start: 57
        source_file: /src/libfuse/lib/fuse_loop_mt.c
    typedefs: []
    union: []
- function_names:
  - PARAM
  - fuse_ll_init_pagesize
  - trace_request_receive
  - trace_request_process
  - trace_request_reply
  - trace_request_receive
  - trace_request_process
  - trace_request_reply
  - convert_stat
  - convert_attr
  - iov_length
  - list_init_req
  - list_del_req
  - list_add_req
  - destroy_req
  - fuse_free_req
  - fuse_ll_alloc_req
  - fuse_write_msg_dev
  - fuse_send_msg
  - send_reply_iov
  - send_reply
  - fuse_reply_iov
  - fuse_add_direntry
  - convert_statfs
  - send_reply_ok
  - fuse_reply_err
  - fuse_reply_none
  - calc_timeout_sec
  - calc_timeout_nsec
  - fill_entry
  - fuse_add_direntry_plus
  - fill_open
  - fuse_reply_entry
  - fuse_reply_create
  - fuse_reply_attr
  - fuse_reply_readlink
  - fuse_passthrough_open
  - fuse_passthrough_close
  - fuse_reply_open
  - do_fuse_reply_write
  - do_fuse_reply_copy
  - fuse_reply_write
  - fuse_reply_buf
  - fuse_send_data_iov_fallback
  - fuse_ll_pipe_free
  - fuse_pipe
  - fuse_pipe
  - fuse_ll_get_pipe
  - fuse_ll_clear_pipe
  - read_back
  - grow_pipe_to_max
  - fuse_send_data_iov
  - fuse_send_data_iov
  - fuse_reply_data
  - fuse_reply_statfs
  - fuse_reply_xattr
  - fuse_reply_lock
  - fuse_reply_bmap
  - fuse_ioctl_iovec_copy
  - fuse_reply_ioctl_retry
  - fuse_reply_ioctl
  - fuse_reply_ioctl_iov
  - fuse_reply_poll
  - fuse_reply_lseek
  - fuse_reply_statx
  - fuse_reply_statx
  - _do_lookup
  - do_lookup
  - _do_forget
  - do_forget
  - _do_batch_forget
  - do_batch_forget
  - _do_getattr
  - do_getattr
  - _do_setattr
  - do_setattr
  - _do_access
  - do_access
  - _do_readlink
  - do_readlink
  - _do_mknod
  - do_mknod
  - _do_mkdir
  - do_mkdir
  - _do_unlink
  - do_unlink
  - _do_rmdir
  - do_rmdir
  - _do_symlink
  - do_symlink
  - _do_rename
  - do_rename
  - _do_rename2
  - do_rename2
  - _do_tmpfile
  - do_tmpfile
  - _do_link
  - do_link
  - _do_create
  - do_create
  - _do_open
  - do_open
  - _do_read
  - do_read
  - _do_write
  - do_write
  - _do_write_buf
  - do_write_buf
  - _do_flush
  - do_flush
  - _do_release
  - do_release
  - _do_fsync
  - do_fsync
  - _do_opendir
  - do_opendir
  - _do_readdir
  - do_readdir
  - _do_readdirplus
  - do_readdirplus
  - _do_releasedir
  - do_releasedir
  - _do_fsyncdir
  - do_fsyncdir
  - _do_statfs
  - do_statfs
  - _do_setxattr
  - do_setxattr
  - _do_getxattr
  - do_getxattr
  - _do_listxattr
  - do_listxattr
  - _do_removexattr
  - do_removexattr
  - convert_fuse_file_lock
  - _do_getlk
  - do_getlk
  - do_setlk_common
  - _do_setlk
  - do_setlk
  - _do_setlkw
  - do_setlkw
  - find_interrupted
  - _do_interrupt
  - do_interrupt
  - check_interrupt
  - _do_bmap
  - do_bmap
  - _do_ioctl
  - do_ioctl
  - fuse_pollhandle_destroy
  - _do_poll
  - do_poll
  - _do_fallocate
  - do_fallocate
  - copy_file_range_common
  - _do_copy_file_range
  - do_copy_file_range
  - _do_copy_file_range_64
  - do_copy_file_range_64
  - _do_lseek
  - do_lseek
  - _do_statx
  - _do_statx
  - do_statx
  - want_flags_valid
  - fuse_convert_to_conn_want_ext
  - fuse_set_feature_flag
  - fuse_unset_feature_flag
  - fuse_get_feature_flag
  - _do_init
  - LL_SET_DEFAULT
  - do_init
  - _do_destroy
  - do_destroy
  - list_del_nreq
  - list_add_nreq
  - list_init_nreq
  - do_notify_reply
  - send_notify_iov
  - fuse_lowlevel_notify_poll
  - fuse_lowlevel_notify_inval_inode
  - fuse_lowlevel_notify_increment_epoch
  - fuse_lowlevel_notify_entry
  - fuse_lowlevel_notify_inval_entry
  - fuse_lowlevel_notify_expire_entry
  - fuse_lowlevel_notify_delete
  - fuse_lowlevel_notify_store
  - fuse_ll_retrieve_reply
  - fuse_lowlevel_notify_retrieve
  - fuse_req_userdata
  - fuse_req_ctx
  - fuse_req_interrupt_func
  - fuse_req_interrupted
  - fuse_req_is_uring
  - fuse_req_get_payload
  - fuse_req_opcode_sanity_ok
  - fuse_session_in2req
  - fuse_req_check_allow_root
  - opname
  - fuse_ll_copy_from_pipe
  - fuse_session_process_buf
  - fuse_session_process_buf_internal
  - fuse_session_process_uring_cqe
  - LL_OPTION
  - fuse_lowlevel_version
  - fuse_lowlevel_help
  - fuse_session_destroy
  - fuse_ll_pipe_destructor
  - fuse_buf_free
  - buf_alloc
  - fuse_session_receive_buf
  - fuse_session_receive_buf_internal
  - fuse_session_new_versioned
  - fuse_session_new_30
  - fuse_session_custom_io_317
  - fuse_session_custom_io_30
  - fuse_session_mount
  - fuse_session_fd
  - fuse_session_unmount
  - fuse_req_getgroups
  - fuse_req_getgroups
  - fuse_session_exit
  - fuse_session_reset
  - fuse_session_exited
  source_file: /src/libfuse/lib/fuse_lowlevel.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: F_LINUX_SPECIFIC_BASE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libfuse/lib/fuse_lowlevel.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: F_SETPIPE_SZ
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libfuse/lib/fuse_lowlevel.c
      type_or_value: (F_LINUX_SPECIFIC_BASE + 7)
    - item_type: preproc_def
      name: OFFSET_MAX
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libfuse/lib/fuse_lowlevel.c
      type_or_value: 0x7fffffffffffffffLL
    structs:
    - fields:
      - name: kh
        type: uint64_t
      - name: '*se'
        type: struct fuse_session
      item_type: struct
      name: fuse_pollhandle
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/libfuse/lib/fuse_lowlevel.c
    - fields:
      - name: size
        type: size_t
      - name: can_grow
        type: int
      - name: pipe[2]
        type: int
      item_type: struct
      name: fuse_ll_pipe
      pos:
        line_end: 675
        line_start: 671
        source_file: /src/libfuse/lib/fuse_lowlevel.c
    - fields:
      - name: nreq
        type: struct fuse_notify_req
      - name: '*cookie'
        type: void
      item_type: struct
      name: fuse_retrieve_req
      pos:
        line_end: 3260
        line_start: 3257
        source_file: /src/libfuse/lib/fuse_lowlevel.c
    - fields:
      - name: (*func)(fuse_req_t req, const fuse_ino_t node, const void *arg)
        type: void
      - name: '*name'
        type: char
      item_type: struct
      name: "fuse_ll_ops[] = {\n\t[FUSE_LOOKUP]\t   = { do_lookup,      \"LOOKUP\"\t
        \    },\n\t[FUSE_FORGET]\t   = { do_forget,      \"FORGET\"\t     },\n\t[FUSE_GETATTR]\t
        \  = { do_getattr,     \"GETATTR\"     },\n\t[FUSE_SETATTR]\t   = { do_setattr,
        \    \"SETATTR\"     },\n\t[FUSE_READLINK]\t   = { do_readlink,    \"READLINK\"
        \   },\n\t[FUSE_SYMLINK]\t   = { do_symlink,     \"SYMLINK\"     },\n\t[FUSE_MKNOD]\t
        \  = { do_mknod,       \"MKNOD\"\t     },\n\t[FUSE_MKDIR]\t   = { do_mkdir,
        \      \"MKDIR\"\t     },\n\t[FUSE_UNLINK]\t   = { do_unlink,      \"UNLINK\"\t
        \    },\n\t[FUSE_RMDIR]\t   = { do_rmdir,       \"RMDIR\"\t     },\n\t[FUSE_RENAME]\t
        \  = { do_rename,      \"RENAME\"\t     },\n\t[FUSE_LINK]\t   = { do_link,\t
        \      \"LINK\"\t     },\n\t[FUSE_OPEN]\t   = { do_open,\t       \"OPEN\"\t
        \    },\n\t[FUSE_READ]\t   = { do_read,\t       \"READ\"\t     },\n\t[FUSE_WRITE]\t
        \  = { do_write,       \"WRITE\"\t     },\n\t[FUSE_STATFS]\t   = { do_statfs,
        \     \"STATFS\"\t     },\n\t[FUSE_RELEASE]\t   = { do_release,     \"RELEASE\"
        \    },\n\t[FUSE_FSYNC]\t   = { do_fsync,       \"FSYNC\"\t     },\n\t[FUSE_SETXATTR]\t
        \  = { do_setxattr,    \"SETXATTR\"    },\n\t[FUSE_GETXATTR]\t   = { do_getxattr,
        \   \"GETXATTR\"    },\n\t[FUSE_LISTXATTR]   = { do_listxattr,   \"LISTXATTR\"
        \  },\n\t[FUSE_REMOVEXATTR] = { do_removexattr, \"REMOVEXATTR\" },\n\t[FUSE_FLUSH]\t
        \  = { do_flush,       \"FLUSH\"\t     },\n\t[FUSE_INIT]\t   = { do_init,\t
        \      \"INIT\"\t     },\n\t[FUSE_OPENDIR]\t   = { do_opendir,     \"OPENDIR\"
        \    },\n\t[FUSE_READDIR]\t   = { do_readdir,     \"READDIR\"     },\n\t[FUSE_RELEASEDIR]
        \ = { do_releasedir,  \"RELEASEDIR\"  },\n\t[FUSE_FSYNCDIR]\t   = { do_fsyncdir,
        \   \"FSYNCDIR\"    },\n\t[FUSE_GETLK]\t   = { do_getlk,       \"GETLK\"\t
        \    },\n\t[FUSE_SETLK]\t   = { do_setlk,       \"SETLK\"\t     },\n\t[FUSE_SETLKW]\t
        \  = { do_setlkw,      \"SETLKW\"\t     },\n\t[FUSE_ACCESS]\t   = { do_access,
        \     \"ACCESS\"\t     },\n\t[FUSE_CREATE]\t   = { do_create,      \"CREATE\"\t
        \    },\n\t[FUSE_TMPFILE]\t   = { do_tmpfile,     \"TMPFILE\"     },\n\t[FUSE_INTERRUPT]
        \  = { do_interrupt,   \"INTERRUPT\"   },\n\t[FUSE_BMAP]\t   = { do_bmap,\t
        \      \"BMAP\"\t     },\n\t[FUSE_IOCTL]\t   = { do_ioctl,       \"IOCTL\"\t
        \    },\n\t[FUSE_POLL]\t   = { do_poll,        \"POLL\"\t     },\n\t[FUSE_FALLOCATE]
        \  = { do_fallocate,   \"FALLOCATE\"   },\n\t[FUSE_DESTROY]\t   = { do_destroy,
        \    \"DESTROY\"     },\n\t[FUSE_NOTIFY_REPLY] = { (void *) 1,    \"NOTIFY_REPLY\"
        },\n\t[FUSE_BATCH_FORGET] = { do_batch_forget, \"BATCH_FORGET\" },\n\t[FUSE_READDIRPLUS]
        = { do_readdirplus,\t\"READDIRPLUS\"},\n\t[FUSE_RENAME2]     = { do_rename2,
        \     \"RENAME2\"    },\n\t[FUSE_COPY_FILE_RANGE] = { do_copy_file_range,
        \"COPY_FILE_RANGE\" },\n\t[FUSE_COPY_FILE_RANGE_64] = { do_copy_file_range_64,
        \"COPY_FILE_RANGE_64\" },\n\t[FUSE_LSEEK]\t   = { do_lseek,       \"LSEEK\"\t
        \    },\n\t[FUSE_STATX]\t   = { do_statx,       \"STATX\"\t     },\n\t[CUSE_INIT]\t
        \  = { cuse_lowlevel_init, \"CUSE_INIT\"   },\n}"
      pos:
        line_end: 3400
        line_start: 3397
        source_file: /src/libfuse/lib/fuse_lowlevel.c
    - fields:
      - name: "(*func)(fuse_req_t req, const fuse_ino_t ino, const void *op_in,\n\t\t
          \    const void *op_payload)"
        type: void
      - name: '*name'
        type: char
      item_type: struct
      name: fuse_ll_ops2[]
      pos:
        line_end: 3456
        line_start: 3452
        source_file: /src/libfuse/lib/fuse_lowlevel.c
    typedefs: []
    union: []
- function_names:
  - list_entry
  - fuse_register_module
  - fuse_unregister_module
  - fuse_load_so_module
  - fuse_find_module
  - fuse_get_module
  - fuse_put_module
  - init_list_head
  - list_empty
  - list_add
  - list_add_head
  - list_add_tail
  - list_del
  - lru_enabled
  - node_lru
  - get_node_size
  - list_to_slab
  - node_to_slab
  - alloc_slab
  - alloc_node
  - free_slab
  - free_node_mem
  - alloc_node
  - free_node_mem
  - id_hash
  - get_node_nocheck
  - get_node
  - remove_node_lru
  - set_forget_time
  - free_node
  - node_table_reduce
  - remerge_id
  - unhash_id
  - node_table_resize
  - rehash_id
  - hash_id
  - name_hash
  - remerge_name
  - unhash_name
  - rehash_name
  - hash_name
  - delete_node
  - unref_node
  - next_id
  - lookup_node
  - inc_nlookup
  - find_node
  - lookup_path_in_cache
  - add_name
  - unlock_path
  - try_get_path
  - try_get_path2
  - queue_element_wakeup
  - wake_up_queued
  - debug_path
  - queue_path
  - dequeue_path
  - wait_path
  - get_path_common
  - get_path
  - get_path_nullok
  - get_path_name
  - get_path_wrlock
  - check_dir_loop
  - get_path2
  - free_path_wrlock
  - free_path
  - free_path2
  - forget_node
  - unlink_node
  - remove_node
  - rename_node
  - exchange_node
  - set_stat
  - set_statx
  - req_fuse
  - fuse_intr_sighandler
  - fuse_interrupt
  - fuse_do_finish_interrupt
  - fuse_do_prepare_interrupt
  - fuse_finish_interrupt
  - fuse_prepare_interrupt
  - file_info_string
  - fuse_fs_getattr
  - fuse_fs_rename
  - fuse_fs_unlink
  - fuse_fs_rmdir
  - fuse_fs_symlink
  - fuse_fs_link
  - fuse_fs_release
  - fuse_fs_opendir
  - fuse_fs_open
  - fuse_free_buf
  - fuse_fs_read_buf
  - fuse_fs_read
  - fuse_fs_write_buf
  - fuse_fs_write
  - fuse_fs_fsync
  - fuse_fs_fsyncdir
  - fuse_fs_flush
  - fuse_fs_statfs
  - fuse_fs_releasedir
  - fuse_fs_readdir
  - fuse_fs_create
  - fuse_fs_lock
  - fuse_fs_flock
  - fuse_fs_chown
  - fuse_fs_truncate
  - fuse_fs_utimens
  - fuse_fs_access
  - fuse_fs_readlink
  - fuse_fs_mknod
  - fuse_fs_mkdir
  - fuse_fs_setxattr
  - fuse_fs_getxattr
  - fuse_fs_listxattr
  - fuse_fs_bmap
  - fuse_fs_removexattr
  - fuse_fs_ioctl
  - fuse_fs_poll
  - fuse_fs_fallocate
  - fuse_fs_copy_file_range
  - fuse_fs_lseek
  - fuse_fs_statx
  - fuse_fs_statx
  - is_open
  - hidden_name
  - hide_node
  - mtime_eq
  - curr_time
  - update_stat
  - do_lookup
  - lookup_path
  - fuse_get_context_internal
  - fuse_create_context
  - fuse_freecontext
  - fuse_create_context_key
  - fuse_delete_context_key
  - req_fuse_prepare
  - reply_err
  - reply_entry
  - fuse_fs_init
  - fuse_lib_init
  - fuse_fs_destroy
  - fuse_lib_destroy
  - fuse_lib_lookup
  - do_forget
  - fuse_lib_forget
  - fuse_lib_forget_multi
  - fuse_lib_getattr
  - fuse_fs_chmod
  - fuse_lib_setattr
  - fuse_lib_access
  - fuse_lib_readlink
  - fuse_lib_mknod
  - fuse_lib_mkdir
  - fuse_lib_unlink
  - fuse_lib_rmdir
  - fuse_lib_symlink
  - fuse_lib_rename
  - fuse_lib_link
  - fuse_do_release
  - fuse_lib_create
  - diff_timespec
  - open_auto_cache
  - fuse_lib_open
  - fuse_lib_read
  - fuse_lib_write_buf
  - fuse_lib_fsync
  - get_dirhandle
  - fuse_lib_opendir
  - extend_contents
  - fuse_add_direntry_to_dh
  - lookup_nodeid
  - fill_dir
  - is_dot_or_dotdot
  - fill_dir_plus
  - free_direntries
  - readdir_fill
  - readdir_fill_from_list
  - fuse_readdir_common
  - fuse_lib_readdir
  - fuse_lib_readdirplus
  - fuse_lib_releasedir
  - fuse_lib_fsyncdir
  - fuse_lib_statfs
  - fuse_lib_setxattr
  - common_getxattr
  - fuse_lib_getxattr
  - common_listxattr
  - fuse_lib_listxattr
  - fuse_lib_removexattr
  - locks_conflict
  - delete_lock
  - insert_lock
  - locks_insert
  - flock_to_lock
  - lock_to_flock
  - fuse_flush_common
  - fuse_lib_release
  - fuse_lib_flush
  - fuse_lock_common
  - fuse_lib_getlk
  - fuse_lib_setlk
  - fuse_lib_flock
  - fuse_lib_bmap
  - fuse_lib_ioctl
  - fuse_lib_poll
  - fuse_lib_fallocate
  - fuse_lib_copy_file_range
  - fuse_lib_lseek
  - fuse_lib_statx
  - clean_delay
  - fuse_clean_cache
  - fuse_notify_poll
  - fuse_get_session
  - fuse_session_loop_remember
  - fuse_loop
  - fuse_loop_mt_312
  - fuse_loop_mt_32
  - fuse_loop_mt_31
  - fuse_exit
  - fuse_get_context
  - fuse_getgroups
  - fuse_interrupted
  - fuse_invalidate_path
  - FUSE_LIB_OPT
  - fuse_lib_opt_proc
  - print_module_help
  - fuse_lib_help
  - fuse_init_intr_signal
  - fuse_restore_intr_signal
  - fuse_push_module
  - fuse_fs_new
  - node_table_init
  - fuse_prune_nodes
  - fuse_start_cleanup_thread
  - fuse_stop_cleanup_thread
  - _fuse_new_31
  - _fuse_new_30
  - fuse_new_31
  - fuse_new_30
  - fuse_destroy
  - fuse_mount
  - fuse_unmount
  - fuse_version
  - fuse_pkgversion
  source_file: /src/libfuse/lib/fuse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_NODE_SLAB
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libfuse/lib/fuse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RENAME_EXCHANGE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libfuse/lib/fuse.c
      type_or_value: "(1 << 1)\t"
    - item_type: preproc_def
      name: FUSE_DEFAULT_INTR_SIGNAL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libfuse/lib/fuse.c
      type_or_value: SIGUSR1
    - item_type: preproc_def
      name: FUSE_UNKNOWN_INO
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libfuse/lib/fuse.c
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: OFFSET_MAX
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libfuse/lib/fuse.c
      type_or_value: 0x7fffffffffffffffLL
    - item_type: preproc_def
      name: NODE_TABLE_MIN_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libfuse/lib/fuse.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: TREELOCK_WRITE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/libfuse/lib/fuse.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: TREELOCK_WAIT_OFFSET
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libfuse/lib/fuse.c
      type_or_value: INT_MIN
    - item_type: preproc_def
      name: CLOCK_MONOTONIC
      pos:
        line_end: 2447
        line_start: 2446
        source_file: /src/libfuse/lib/fuse.c
      type_or_value: CLOCK_REALTIME
    structs:
    - fields:
      - name: op
        type: struct fuse_operations
      - name: '*user_data'
        type: void
      - name: debug
        type: int
      item_type: struct
      name: fuse_fs
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: '*handle'
        type: void
      - name: ctr
        type: int
      item_type: struct
      name: fusemod_so
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: '*next'
        type: struct lock_queue_element
      - name: cond
        type: pthread_cond_t
      - name: nodeid1
        type: fuse_ino_t
      - name: '*name1'
        type: char
      - name: '**path1'
        type: char
      - name: '**wnode1'
        type: struct node
      - name: nodeid2
        type: fuse_ino_t
      - name: '*name2'
        type: char
      - name: '**path2'
        type: char
      - name: '**wnode2'
        type: struct node
      - name: err
        type: int
      - name: done
        type: bool
      item_type: struct
      name: lock_queue_element
      pos:
        line_end: 85
        line_start: 72
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: '**array'
        type: struct node
      - name: use
        type: size_t
      - name: size
        type: size_t
      - name: split
        type: size_t
      item_type: struct
      name: node_table
      pos:
        line_end: 92
        line_start: 87
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: '*next'
        type: struct list_head
      - name: '*prev'
        type: struct list_head
      item_type: struct
      name: list_head
      pos:
        line_end: 100
        line_start: 97
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: list
        type: struct list_head
      - name: freelist
        type: struct list_head
      - name: used
        type: int
      item_type: struct
      name: node_slab
      pos:
        line_end: 106
        line_start: 102
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: '*se'
        type: struct fuse_session
      - name: name_table
        type: struct node_table
      - name: id_table
        type: struct node_table
      - name: lru_table
        type: struct list_head
      - name: ctr
        type: fuse_ino_t
      - name: generation
        type: unsigned int
      - name: hidectr
        type: unsigned int
      - name: lock
        type: pthread_mutex_t
      - name: conf
        type: struct fuse_config
      - name: intr_installed
        type: int
      - name: '*fs'
        type: struct fuse_fs
      - name: '*lockq'
        type: struct lock_queue_element
      - name: pagesize
        type: int
      - name: partial_slabs
        type: struct list_head
      - name: full_slabs
        type: struct list_head
      - name: prune_thread
        type: pthread_t
      item_type: struct
      name: fuse
      pos:
        line_end: 125
        line_start: 108
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: type
        type: int
      - name: start
        type: off_t
      - name: end
        type: off_t
      - name: pid
        type: pid_t
      - name: owner
        type: uint64_t
      - name: '*next'
        type: struct lock
      item_type: struct
      name: lock
      pos:
        line_end: 134
        line_start: 127
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: '*name_next'
        type: struct node
      - name: '*id_next'
        type: struct node
      - name: nodeid
        type: fuse_ino_t
      - name: generation
        type: unsigned int
      - name: refctr
        type: int
      - name: '*parent'
        type: struct node
      - name: '*name'
        type: char
      - name: nlookup
        type: uint64_t
      - name: open_count
        type: int
      - name: stat_updated
        type: struct timespec
      - name: mtime
        type: struct timespec
      - name: size
        type: off_t
      - name: '*locks'
        type: struct lock
      - name: is_hidden
        type: unsigned int
      - name: cache_valid
        type: unsigned int
      - name: treelock
        type: int
      - name: inline_name[32]
        type: char
      item_type: struct
      name: node
      pos:
        line_end: 154
        line_start: 136
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: node
        type: struct node
      - name: lru
        type: struct list_head
      - name: forget_time
        type: struct timespec
      item_type: struct
      name: node_lru
      pos:
        line_end: 163
        line_start: 159
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: stat
        type: struct stat
      - name: flags
        type: enum fuse_fill_dir_flags
      - name: '*name'
        type: char
      - name: '*next'
        type: struct fuse_direntry
      item_type: struct
      name: fuse_direntry
      pos:
        line_end: 170
        line_start: 165
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: lock
        type: pthread_mutex_t
      - name: '*fuse'
        type: struct fuse
      - name: req
        type: fuse_req_t
      - name: '*contents'
        type: char
      - name: '*first'
        type: struct fuse_direntry
      - name: '**last'
        type: struct fuse_direntry
      - name: len
        type: unsigned
      - name: size
        type: unsigned
      - name: needlen
        type: unsigned
      - name: filled
        type: int
      - name: fh
        type: uint64_t
      - name: error
        type: int
      - name: nodeid
        type: fuse_ino_t
      item_type: struct
      name: fuse_dh
      pos:
        line_end: 186
        line_start: 172
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: ctx
        type: struct fuse_context
      - name: req
        type: fuse_req_t
      item_type: struct
      name: fuse_context_i
      pos:
        line_end: 191
        line_start: 188
        source_file: /src/libfuse/lib/fuse.c
    - fields:
      - name: id
        type: pthread_t
      - name: cond
        type: pthread_cond_t
      - name: finished
        type: int
      item_type: struct
      name: fuse_intr_data
      pos:
        line_end: 1547
        line_start: 1543
        source_file: /src/libfuse/lib/fuse.c
    typedefs: []
    union: []
- function_names:
  - fuse_session_loop
  source_file: /src/libfuse/lib/fuse_loop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MIN
  source_file: /src/libfuse/lib/fuse_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_DEFAULT_MAX_PAGES_LIMIT
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/libfuse/lib/fuse_i.h
      type_or_value: '256'
    - item_type: preproc_def
      name: FUSE_DEFAULT_MAX_PAGES_PER_REQ
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/libfuse/lib/fuse_i.h
      type_or_value: '32'
    - item_type: preproc_def
      name: FUSE_BUFFER_HEADER_SIZE
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/libfuse/lib/fuse_i.h
      type_or_value: '0x1000'
    structs:
    - fields:
      - name: '*se'
        type: struct fuse_session
      - name: unique
        type: uint64_t
      - name: ref_cnt
        type: int
      - name: lock
        type: pthread_mutex_t
      - name: ctx
        type: struct fuse_ctx
      - name: '*ch'
        type: struct fuse_chan
      - name: interrupted
        type: int
      - name: flags
        type: "struct {\n\t\tunsigned int ioctl_64bit : 1;\n\t\tunsigned int is_uring
          : 1;\n\t\tunsigned int is_copy_file_range_64 : 1;\n\t}"
      - name: u
        type: "union {\n\t\tstruct {\n\t\t\tuint64_t unique;\n\t\t} i;\n\t\tstruct
          {\n\t\t\tfuse_interrupt_func_t func;\n\t\t\tvoid *data;\n\t\t} ni;\n\t}"
      - name: '*next'
        type: struct fuse_req
      - name: '*prev'
        type: struct fuse_req
      item_type: struct
      name: fuse_req
      pos:
        line_end: 56
        line_start: 32
        source_file: /src/libfuse/lib/fuse_i.h
    - fields:
      - name: unique
        type: uint64_t
      - name: "(*reply)(struct fuse_notify_req *, fuse_req_t, fuse_ino_t,\n\t\t      const
          void *, const struct fuse_buf *)"
        type: void
      - name: '*next'
        type: struct fuse_notify_req
      - name: '*prev'
        type: struct fuse_notify_req
      item_type: struct
      name: fuse_notify_req
      pos:
        line_end: 64
        line_start: 58
        source_file: /src/libfuse/lib/fuse_i.h
    - fields:
      - name: enable
        type: bool
      - name: q_depth
        type: unsigned int
      - name: '*pool'
        type: struct fuse_ring_pool
      item_type: struct
      name: fuse_session_uring
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/libfuse/lib/fuse_i.h
    - fields:
      - name: fd
        type: int
      - name: '*io'
        type: struct fuse_custom_io
      - name: '*mo'
        type: struct mount_opts
      - name: debug
        type: int
      - name: deny_others
        type: int
      - name: op
        type: struct fuse_lowlevel_ops
      - name: got_init
        type: int
      - name: '*cuse_data'
        type: struct cuse_data
      - name: '*userdata'
        type: void
      - name: owner
        type: uid_t
      - name: conn
        type: struct fuse_conn_info
      - name: list
        type: struct fuse_req
      - name: interrupts
        type: struct fuse_req
      - name: lock
        type: pthread_mutex_t
      - name: got_destroy
        type: int
      - name: pipe_key
        type: pthread_key_t
      - name: broken_splice_nonblock
        type: int
      - name: notify_ctr
        type: uint64_t
      - name: notify_list
        type: struct fuse_notify_req
      - name: bufsize
        type: size_t
      - name: error
        type: int
      - name: version
        type: struct libfuse_version
      - name: mt_exited
        type: bool
      - name: mt_lock
        type: pthread_mutex_t
      - name: mt_finish
        type: sem_t
      - name: buf_reallocable
        type: bool
      - name: uring
        type: struct fuse_session_uring
      - name: conn_want
        type: uint32_t
      - name: conn_want_ext
        type: uint64_t
      item_type: struct
      name: fuse_session
      pos:
        line_end: 119
        line_start: 72
        source_file: /src/libfuse/lib/fuse_i.h
    - fields:
      - name: lock
        type: pthread_mutex_t
      - name: ctr
        type: int
      - name: fd
        type: int
      item_type: struct
      name: fuse_chan
      pos:
        line_end: 125
        line_start: 121
        source_file: /src/libfuse/lib/fuse_i.h
    - fields:
      - name: '*name'
        type: char
      - name: factory
        type: fuse_module_factory_t
      - name: '*next'
        type: struct fuse_module
      - name: '*so'
        type: struct fusemod_so
      - name: ctr
        type: int
      item_type: struct
      name: fuse_module
      pos:
        line_end: 140
        line_start: 134
        source_file: /src/libfuse/lib/fuse_i.h
    - fields:
      - name: version_id
        type: int
      - name: clone_fd
        type: int
      - name: max_idle_threads
        type: int
      - name: max_threads
        type: unsigned int
      item_type: struct
      name: fuse_loop_config
      pos:
        line_end: 190
        line_start: 151
        source_file: /src/libfuse/lib/fuse_i.h
    typedefs: []
    union: []
- function_names:
  - FUSE_HELPER_OPT
  - CONN_OPTION
  - fuse_cmdline_help
  - fuse_helper_opt_proc
  - add_default_subtype
  - fuse_parse_cmdline_312
  - fuse_parse_cmdline_30
  - fuse_daemonize
  - fuse_main_real_versioned
  - fuse_main_real_30
  - fuse_apply_conn_info_opts
  - LL_ENABLE
  - LL_DISABLE
  - fuse_parse_conn_info_opts
  - fuse_open_channel
  source_file: /src/libfuse/lib/helper.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: atomic_o_trunc
        type: int
      - name: no_remote_posix_lock
        type: int
      - name: no_remote_flock
        type: int
      - name: splice_write
        type: int
      - name: splice_move
        type: int
      - name: splice_read
        type: int
      - name: no_splice_write
        type: int
      - name: no_splice_move
        type: int
      - name: no_splice_read
        type: int
      - name: auto_inval_data
        type: int
      - name: no_auto_inval_data
        type: int
      - name: no_readdirplus
        type: int
      - name: no_readdirplus_auto
        type: int
      - name: async_dio
        type: int
      - name: no_async_dio
        type: int
      - name: writeback_cache
        type: int
      - name: no_writeback_cache
        type: int
      - name: async_read
        type: int
      - name: sync_read
        type: int
      - name: max_write
        type: unsigned
      - name: max_readahead
        type: unsigned
      - name: max_background
        type: unsigned
      - name: congestion_threshold
        type: unsigned
      - name: time_gran
        type: unsigned
      - name: set_max_write
        type: int
      - name: set_max_readahead
        type: int
      - name: set_max_background
        type: int
      - name: set_congestion_threshold
        type: int
      - name: set_time_gran
        type: int
      item_type: struct
      name: fuse_conn_info_opts
      pos:
        line_end: 86
        line_start: 56
        source_file: /src/libfuse/lib/helper.c
    typedefs: []
    union: []
- function_names:
  - ROUND_UP
  - likely
  - unlikely
  - fuse_lower_32_bits
  - fuse_higher_32_bits
  - container_of
  source_file: /src/libfuse/lib/util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_VAR_UNUSED
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libfuse/lib/util.h
      type_or_value: __attribute__((__unused__))
    structs: []
    typedefs: []
    union: []
- function_names:
  - default_log_func
  - fuse_set_log_func
  - fuse_log
  - fuse_log_enable_syslog
  - fuse_log_close_syslog
  source_file: /src/libfuse/lib/fuse_log.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SYSLOG_LINE_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libfuse/lib/fuse_log.c
      type_or_value: '512'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuse_uring_start
  - fuse_uring_wake_ring_threads
  - fuse_uring_stop
  - send_reply_uring
  - fuse_reply_data_uring
  - fuse_send_msg_uring
  source_file: /src/libfuse/lib/fuse_uring_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SESSION_DEF_URING_ENABLE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libfuse/lib/fuse_uring_i.h
      type_or_value: (0)
    - item_type: preproc_def
      name: SESSION_DEF_URING_Q_DEPTH
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libfuse/lib/fuse_uring_i.h
      type_or_value: (8)
    structs: []
    typedefs: []
    union: []
- function_names:
  - libfuse_strtol
  - fuse_set_thread_name
  source_file: /src/libfuse/lib/util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/libfuse/lib/util.c
      type_or_value: (FUSE_MAKE_VERSION(3, 18))
    structs: []
    typedefs: []
    union: []
- function_names:
  - dump_stack
  - exit_handler
  - exit_backtrace
  - do_nothing
  - set_one_signal_handler
  - _fuse_set_signal_handlers
  - fuse_set_signal_handlers
  - fuse_set_fail_signal_handlers
  - _fuse_remove_signal_handlers
  - fuse_remove_signal_handlers
  source_file: /src/libfuse/lib/fuse_signals.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BT_STACK_SZ
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libfuse/lib/fuse_signals.c
      type_or_value: (1024 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuse_opt_free_args
  - alloc_failed
  - fuse_opt_add_arg
  - fuse_opt_insert_arg_common
  - fuse_opt_insert_arg
  - next_arg
  - add_arg
  - add_opt_common
  - fuse_opt_add_opt
  - fuse_opt_add_opt_escaped
  - add_opt
  - call_proc
  - match_template
  - find_opt
  - fuse_opt_match
  - process_opt_param
  - process_opt
  - process_opt_sep_arg
  - process_gopt
  - process_real_option_group
  - process_option_group
  - process_one
  - opt_parse
  - fuse_opt_parse
  source_file: /src/libfuse/lib/fuse_opt.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: void
      - name: '*opt'
        type: struct fuse_opt
      - name: proc
        type: fuse_opt_proc_t
      - name: argctr
        type: int
      - name: argc
        type: int
      - name: '**argv'
        type: char
      - name: outargs
        type: struct fuse_args
      - name: '*opts'
        type: char
      - name: nonopt
        type: int
      item_type: struct
      name: fuse_opt_context
      pos:
        line_end: 31
        line_start: 21
        source_file: /src/libfuse/lib/fuse_opt.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libfuse/lib/mount_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuse_buf_size
  - min_size
  - fuse_buf_write
  - fuse_buf_read
  - fuse_buf_fd_to_fd
  - fuse_buf_splice
  - fuse_buf_splice
  - fuse_buf_copy_one
  - fuse_bufvec_current
  - fuse_bufvec_advance
  - fuse_buf_copy
  source_file: /src/libfuse/lib/buffer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - umount2
  - FUSE_MOUNT_OPT
  - fusermount_posix_spawn
  - fuse_mount_version
  - get_max_read
  - set_mount_flag
  - fuse_mount_opt_proc
  - receive_fd
  - fuse_kern_unmount
  - setup_auto_unmount
  - fuse_mount_fusermount
  - fuse_mount_sys
  - get_mnt_flag_opts
  - parse_mount_opts
  - destroy_mount_opts
  - fuse_kern_mount
  source_file: /src/libfuse/lib/mount.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MS_RDONLY
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libfuse/lib/mount.c
      type_or_value: MNT_RDONLY
    - item_type: preproc_def
      name: MS_NOSUID
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libfuse/lib/mount.c
      type_or_value: MNT_NOSUID
    - item_type: preproc_def
      name: MS_NODEV
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libfuse/lib/mount.c
      type_or_value: MNT_NODEV
    - item_type: preproc_def
      name: MS_NOEXEC
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libfuse/lib/mount.c
      type_or_value: MNT_NOEXEC
    - item_type: preproc_def
      name: MS_SYNCHRONOUS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libfuse/lib/mount.c
      type_or_value: MNT_SYNCHRONOUS
    - item_type: preproc_def
      name: MS_NOATIME
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libfuse/lib/mount.c
      type_or_value: MNT_NOATIME
    - item_type: preproc_def
      name: MS_NOSYMFOLLOW
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libfuse/lib/mount.c
      type_or_value: MNT_NOSYMFOLLOW
    - item_type: preproc_def
      name: FUSERMOUNT_PROG
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libfuse/lib/mount.c
      type_or_value: '"fusermount3"'
    - item_type: preproc_def
      name: FUSE_COMMFD_ENV
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libfuse/lib/mount.c
      type_or_value: '"_FUSE_COMMFD"'
    - item_type: preproc_def
      name: FUSE_COMMFD2_ENV
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libfuse/lib/mount.c
      type_or_value: '"_FUSE_COMMFD2"'
    - item_type: preproc_def
      name: FUSE_KERN_DEVICE_ENV
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libfuse/lib/mount.c
      type_or_value: '"FUSE_KERN_DEVICE"'
    - item_type: preproc_def
      name: MS_DIRSYNC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libfuse/lib/mount.c
      type_or_value: '128'
    - item_type: preproc_def
      name: O_CLOEXEC
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/libfuse/lib/mount.c
      type_or_value: '0'
    structs:
    - fields:
      - name: allow_other
        type: int
      - name: flags
        type: int
      - name: auto_unmount
        type: int
      - name: blkdev
        type: int
      - name: '*fsname'
        type: char
      - name: '*subtype'
        type: char
      - name: '*subtype_opt'
        type: char
      - name: '*mtab_opts'
        type: char
      - name: '*fusermount_opts'
        type: char
      - name: '*kernel_opts'
        type: char
      - name: max_read
        type: unsigned
      item_type: struct
      name: mount_opts
      pos:
        line_end: 79
        line_start: 67
        source_file: /src/libfuse/lib/mount.c
    - fields:
      - name: '*opt'
        type: char
      - name: flag
        type: unsigned long
      - name: 'on'
        type: int
      item_type: struct
      name: mount_flags
      pos:
        line_end: 174
        line_start: 170
        source_file: /src/libfuse/lib/mount.c
    typedefs: []
    union: []
- function_names:
  - fuse_parse_cmdline
  - fuse_session_custom_io
  - fuse_main_real
  - fuse_session_new
  source_file: /src/libfuse/lib/compat.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __usdt_va_args
  - __usdt_va_args
  - USDT
  - USDT
  - USDT_WITH_SEMA
  - USDT_WITH_SEMA
  - USDT_IS_ACTIVE
  - USDT_SEMA
  - USDT_DEFINE_SEMA
  - USDT_DECLARE_SEMA
  - USDT_SEMA_IS_ACTIVE
  - USDT_WITH_EXPLICIT_SEMA
  - USDT_WITH_EXPLICIT_SEMA
  - __usdt_sema_name
  - __usdt_concat
  - __usdt_apply
  - __usdt_nth
  - __usdt_narg
  - __usdt_narg
  - __usdt_str_
  - __usdt_str
  - __usdt_asm_name
  - __usdt_asm1
  - __usdt_asm2
  - __usdt_asm3
  - __usdt_asm5
  - __usdt_asm_strz_
  - __usdt_asm_strz
  - __usdt_asm_str_
  - __usdt_asm_str
  - __usdt_sema_implicit
  - __usdt_sema_explicit
  - __usdt_probe
  - __usdt_argref
  - __usdt_argref
  - __usdt_argref
  - __usdt_asm_arg
  - __usdt_asm_args
  - __usdt_is_arr
  - __usdt_arg_size
  - __usdt_is_signed
  - __usdt_def_signed
  - __usdt_maybe_signed
  - __usdt_is_inttype
  - __usdt_inttype
  - __usdt_is_signed
  - __usdt_asm_op
  - __usdt_asm_ops0
  - __usdt_asm_ops1
  - __usdt_asm_ops2
  - __usdt_asm_ops3
  - __usdt_asm_ops4
  - __usdt_asm_ops5
  - __usdt_asm_ops6
  - __usdt_asm_ops7
  - __usdt_asm_ops8
  - __usdt_asm_ops9
  - __usdt_asm_ops10
  - __usdt_asm_ops11
  - __usdt_asm_ops12
  - __usdt_asm_ops
  source_file: /src/libfuse/lib/usdt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USDT_MAJOR_VERSION
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: USDT_MINOR_VERSION
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USDT_PATCH_VERSION
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: __usdt_va_opt
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USDT_ARG_CONSTRAINT
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: nZr
    - item_type: preproc_def
      name: USDT_ARG_CONSTRAINT
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: g
    - item_type: preproc_def
      name: USDT_ARG_CONSTRAINT
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: nmr
    - item_type: preproc_def
      name: USDT_ARG_CONSTRAINT
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: nor
    - item_type: preproc_def
      name: USDT_NOP
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: nop 0
    - item_type: preproc_def
      name: USDT_NOP
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: nop
    - item_type: preproc_def
      name: __usdt_sema_sec
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __attribute__((section(".probes")))
    - item_type: preproc_def
      name: __usdt_hash
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: '#'
    - item_type: preproc_def
      name: __usdt_asm_addr
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: .8byte
    - item_type: preproc_def
      name: __usdt_asm_addr
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: .4byte
    - item_type: preproc_def
      name: __usdt_asm_args1
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_arg(1)
    - item_type: preproc_def
      name: __usdt_asm_args2
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args1 __usdt_asm1(.ascii " ") __usdt_asm_arg(2)
    - item_type: preproc_def
      name: __usdt_asm_args3
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args2 __usdt_asm1(.ascii " ") __usdt_asm_arg(3)
    - item_type: preproc_def
      name: __usdt_asm_args4
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args3 __usdt_asm1(.ascii " ") __usdt_asm_arg(4)
    - item_type: preproc_def
      name: __usdt_asm_args5
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args4 __usdt_asm1(.ascii " ") __usdt_asm_arg(5)
    - item_type: preproc_def
      name: __usdt_asm_args6
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args5 __usdt_asm1(.ascii " ") __usdt_asm_arg(6)
    - item_type: preproc_def
      name: __usdt_asm_args7
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args6 __usdt_asm1(.ascii " ") __usdt_asm_arg(7)
    - item_type: preproc_def
      name: __usdt_asm_args8
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args7 __usdt_asm1(.ascii " ") __usdt_asm_arg(8)
    - item_type: preproc_def
      name: __usdt_asm_args9
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args8 __usdt_asm1(.ascii " ") __usdt_asm_arg(9)
    - item_type: preproc_def
      name: __usdt_asm_args10
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args9 __usdt_asm1(.ascii " ") __usdt_asm_arg(10)
    - item_type: preproc_def
      name: __usdt_asm_args11
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args10 __usdt_asm1(.ascii " ") __usdt_asm_arg(11)
    - item_type: preproc_def
      name: __usdt_asm_args12
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/libfuse/lib/usdt.h
      type_or_value: __usdt_asm_args11 __usdt_asm1(.ascii " ") __usdt_asm_arg(12)
    structs:
    - fields:
      - name: active
        type: unsigned short
      item_type: struct
      name: usdt_sema
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/libfuse/lib/usdt.h
    - fields:
      - name: is_signed
        type: bool
      item_type: struct
      name: __usdt_t
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/libfuse/lib/usdt.h
    - fields: []
      item_type: struct
      name: __usdt_t<A[]>
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/libfuse/lib/usdt.h
    - fields: []
      item_type: struct
      name: __usdt_t<A[N]>
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/libfuse/lib/usdt.h
    typedefs: []
    union: []
- function_names:
  - umount2
  - mtab_needs_update
  - mtab_needs_update
  - add_mount
  - fuse_mnt_add_mount
  - exec_umount
  - fuse_mnt_umount
  - remove_mount
  - fuse_mnt_remove_mount
  - fuse_mnt_resolve_path
  - fuse_mnt_check_fuseblk
  - fuse_mnt_parse_fuse_fd
  source_file: /src/libfuse/lib/mount_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuse_ring_queue_size
  - fuse_uring_get_queue
  - fuse_uring_get_sqe_cmd
  - fuse_uring_sqe_set_req_data
  - fuse_uring_sqe_prepare
  - fuse_uring_commit_sqe
  - fuse_req_get_payload
  - send_reply_uring
  - fuse_reply_data_uring
  - fuse_send_msg_uring
  - fuse_queue_setup_io_uring
  - fuse_session_destruct_uring
  - fuse_uring_prepare_fetch_sqes
  - fuse_create_ring
  - fuse_uring_handle_cqe
  - fuse_uring_queue_handle_cqes
  - fuse_uring_set_thread_core
  - fuse_uring_init_queue
  - fuse_uring_thread
  - fuse_uring_start_ring_threads
  - fuse_uring_sanity_check
  - fuse_uring_start
  - fuse_uring_stop
  - fuse_uring_wake_ring_threads
  source_file: /src/libfuse/lib/fuse_uring.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_URING_MAX_SQE128_CMD_DATA
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libfuse/lib/fuse_uring.c
      type_or_value: '80'
    structs:
    - fields:
      - name: '*ring_queue'
        type: struct fuse_ring_queue
      - name: req
        type: struct fuse_req
      - name: '*req_header'
        type: struct fuse_uring_req_header
      - name: '*op_payload'
        type: void
      - name: req_payload_sz
        type: size_t
      - name: req_commit_id
        type: uint64_t
      - name: iov[2]
        type: struct iovec
      item_type: struct
      name: fuse_ring_ent
      pos:
        line_end: 47
        line_start: 34
        source_file: /src/libfuse/lib/fuse_uring.c
    - fields:
      - name: '*ring_pool'
        type: struct fuse_ring_pool
      - name: qid
        type: int
      - name: numa_node
        type: int
      - name: tid
        type: pthread_t
      - name: eventfd
        type: int
      - name: req_header_sz
        type: size_t
      - name: ring
        type: struct io_uring
      - name: ent[]
        type: struct fuse_ring_ent
      item_type: struct
      name: fuse_ring_queue
      pos:
        line_end: 61
        line_start: 49
        source_file: /src/libfuse/lib/fuse_uring.c
    - fields:
      - name: '*se'
        type: struct fuse_session
      - name: nr_queues
        type: size_t
      - name: queue_depth
        type: size_t
      - name: max_req_payload_sz
        type: size_t
      - name: queue_mem_size
        type: size_t
      - name: started_threads
        type: unsigned int
      - name: failed_threads
        type: unsigned int
      - name: init_sem
        type: sem_t
      - name: thread_start_cond
        type: pthread_cond_t
      - name: thread_start_mutex
        type: pthread_mutex_t
      - name: '*queues'
        type: struct fuse_ring_queue
      item_type: struct
      name: fuse_ring_pool
      pos:
        line_end: 92
        line_start: 66
        source_file: /src/libfuse/lib/fuse_uring.c
    typedefs: []
    union: []
- function_names:
  - FUSE_SYMVER
  - FUSE_SYMVER
  - ST_ATIM_NSEC
  - ST_CTIM_NSEC
  - ST_MTIM_NSEC
  - ST_ATIM_NSEC_SET
  - ST_CTIM_NSEC_SET
  - ST_MTIM_NSEC_SET
  - ST_ATIM_NSEC
  - ST_CTIM_NSEC
  - ST_MTIM_NSEC
  - ST_ATIM_NSEC_SET
  - ST_CTIM_NSEC_SET
  - ST_MTIM_NSEC_SET
  - ST_ATIM_NSEC
  - ST_CTIM_NSEC
  - ST_MTIM_NSEC
  - ST_ATIM_NSEC_SET
  - ST_CTIM_NSEC_SET
  - ST_MTIM_NSEC_SET
  source_file: /src/libfuse/lib/fuse_misc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FUSE_DUAL_OPT_KEY
  - fuse_mount_version
  - get_max_read
  - fuse_mount_opt_proc
  - fuse_kern_unmount
  - fuse_mount_core
  - parse_mount_opts
  - destroy_mount_opts
  - fuse_kern_mount
  source_file: /src/libfuse/lib/mount_bsd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSERMOUNT_PROG
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libfuse/lib/mount_bsd.c
      type_or_value: '"mount_fusefs"'
    - item_type: preproc_def
      name: FUSE_DEV_TRUNK
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libfuse/lib/mount_bsd.c
      type_or_value: '"/dev/fuse"'
    structs:
    - fields:
      - name: allow_other
        type: int
      - name: '*kernel_opts'
        type: char
      - name: max_read
        type: unsigned
      item_type: struct
      name: mount_opts
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/libfuse/lib/mount_bsd.c
    typedefs: []
    union: []
- function_names:
  - req_clop
  - cuse_fll_open
  - cuse_fll_read
  - cuse_fll_write
  - cuse_fll_flush
  - cuse_fll_release
  - cuse_fll_fsync
  - cuse_fll_ioctl
  - cuse_fll_poll
  - cuse_pack_info
  - cuse_prep_data
  - cuse_lowlevel_new
  - cuse_reply_init
  - _cuse_lowlevel_init
  - cuse_lowlevel_init
  - cuse_lowlevel_setup
  - cuse_lowlevel_teardown
  - cuse_lowlevel_main
  source_file: /src/libfuse/lib/cuse_lowlevel.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: clop
        type: struct cuse_lowlevel_ops
      - name: max_read
        type: unsigned
      - name: dev_major
        type: unsigned
      - name: dev_minor
        type: unsigned
      - name: flags
        type: unsigned
      - name: dev_info_len
        type: unsigned
      - name: dev_info[]
        type: char
      item_type: struct
      name: cuse_data
      pos:
        line_end: 30
        line_start: 22
        source_file: /src/libfuse/lib/cuse_lowlevel.c
    typedefs: []
    union: []
- function_names:
  - iconv_get
  - iconv_convpath
  - iconv_getattr
  - iconv_access
  - iconv_readlink
  - iconv_opendir
  - iconv_dir_fill
  - iconv_readdir
  - iconv_releasedir
  - iconv_mknod
  - iconv_mkdir
  - iconv_unlink
  - iconv_rmdir
  - iconv_symlink
  - iconv_rename
  - iconv_link
  - iconv_chmod
  - iconv_chown
  - iconv_truncate
  - iconv_utimens
  - iconv_create
  - iconv_open_file
  - iconv_read_buf
  - iconv_write_buf
  - iconv_statfs
  - iconv_flush
  - iconv_release
  - iconv_fsync
  - iconv_fsyncdir
  - iconv_setxattr
  - iconv_getxattr
  - iconv_listxattr
  - iconv_removexattr
  - iconv_lock
  - iconv_flock
  - iconv_bmap
  - iconv_lseek
  - iconv_statx
  - iconv_init
  - iconv_destroy
  - iconv_help
  - iconv_opt_proc
  - iconv_new
  source_file: /src/libfuse/lib/modules/iconv.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct fuse_fs
      - name: lock
        type: pthread_mutex_t
      - name: '*from_code'
        type: char
      - name: '*to_code'
        type: char
      - name: tofs
        type: iconv_t
      - name: fromfs
        type: iconv_t
      item_type: struct
      name: iconv
      pos:
        line_end: 28
        line_start: 21
        source_file: /src/libfuse/lib/modules/iconv.c
    - fields:
      - name: '*ic'
        type: struct iconv
      - name: '*prev_buf'
        type: void
      - name: prev_filler
        type: fuse_fill_dir_t
      item_type: struct
      name: iconv_dh
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/libfuse/lib/modules/iconv.c
    typedefs: []
    union: []
- function_names:
  - subdir_get
  - subdir_addpath
  - subdir_getattr
  - subdir_access
  - count_components
  - strip_common
  - transform_symlink
  - subdir_readlink
  - subdir_opendir
  - subdir_readdir
  - subdir_releasedir
  - subdir_mknod
  - subdir_mkdir
  - subdir_unlink
  - subdir_rmdir
  - subdir_symlink
  - subdir_rename
  - subdir_link
  - subdir_chmod
  - subdir_chown
  - subdir_truncate
  - subdir_utimens
  - subdir_create
  - subdir_open
  - subdir_read_buf
  - subdir_write_buf
  - subdir_statfs
  - subdir_flush
  - subdir_release
  - subdir_fsync
  - subdir_fsyncdir
  - subdir_setxattr
  - subdir_getxattr
  - subdir_listxattr
  - subdir_removexattr
  - subdir_lock
  - subdir_flock
  - subdir_bmap
  - subdir_lseek
  - subdir_statx
  - subdir_init
  - subdir_destroy
  - subdir_help
  - subdir_opt_proc
  - subdir_new
  source_file: /src/libfuse/lib/modules/subdir.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*base'
        type: char
      - name: baselen
        type: size_t
      - name: rellinks
        type: int
      - name: '*next'
        type: struct fuse_fs
      item_type: struct
      name: subdir
      pos:
        line_end: 22
        line_start: 17
        source_file: /src/libfuse/lib/modules/subdir.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libfuse/example/ioctl_client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - OPTION
  - tfs_stat
  - tfs_init
  - tfs_lookup
  - tfs_forget
  - tfs_getattr
  - dirbuf_add
  - min
  - reply_buf_limited
  - tfs_readdir
  - tfs_open
  - tfs_read
  - tfs_retrieve_reply
  - tfs_destroy
  - update_fs
  - update_fs_loop
  - show_help
  - main
  source_file: /src/libfuse/example/notify_store_retrieve.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libfuse/example/notify_store_retrieve.c
      type_or_value: FUSE_MAKE_VERSION(3, 12)
    - item_type: preproc_def
      name: NO_TIMEOUT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libfuse/example/notify_store_retrieve.c
      type_or_value: '500000'
    - item_type: preproc_def
      name: MAX_STR_LEN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libfuse/example/notify_store_retrieve.c
      type_or_value: '128'
    - item_type: preproc_def
      name: FILE_INO
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libfuse/example/notify_store_retrieve.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FILE_NAME
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libfuse/example/notify_store_retrieve.c
      type_or_value: '"current_time"'
    structs:
    - fields:
      - name: no_notify
        type: int
      - name: update_interval
        type: int
      item_type: struct
      name: options
      pos:
        line_end: 101
        line_start: 98
        source_file: /src/libfuse/example/notify_store_retrieve.c
    - fields:
      - name: '*p'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: dirbuf
      pos:
        line_end: 204
        line_start: 201
        source_file: /src/libfuse/example/notify_store_retrieve.c
    typedefs: []
    union: []
- function_names:
  - DIV_ROUND_UP
  - DirHandle
  - Inode::Inode
  - Inode::get_ino
  - Inode::lock
  - Inode::unlock
  - Inode::inc_lookup
  - Inode::dec_lookup
  - '&get_name() const'
  - Inode::is_dir
  - Inode::get_ctime
  - Inode::get_mtime
  - Inode::get_mode
  - Inode::content_size
  - Inode::read_content
  - Inode::write_content
  - Inode::set_uid
  - Inode::set_gid
  - Inode::set_mode
  - Inode::set_atime
  - Inode::set_mtime
  - Inode::truncate
  - Inode::get_attr
  - Inode::is_empty
  - Inode::inc_nlink
  - Inode::dec_nlink
  - Dentry::Dentry
  - Dentry::get_ino
  - Dentry::is_dir
  - '&get_name() const'
  - Dentry::get_ctime
  - Dentry::get_mtime
  - Dentry::get_mode
  - Dentry::content_size
  - Dentry::get_inode
  - Dentry::inc_lookup
  - Inodes::Inodes
  - Inodes::lock
  - Inodes::unlock
  - Inodes::erase_locked
  - Inodes::erase
  - Inodes::find_locked
  - Inodes::find
  - Inodes::create
  - Inodes::size
  - Inode::add_child_locked
  - Inode::add_child
  - Inode::remove_child
  - Inode::find_child_locked
  - Inode::find_child
  - Inode::get_children
  - memfs_lookup
  - memfs_getattr
  - memfs_create
  - memfs_write
  - memfs_read
  - memfs_open
  - memfs_opendir
  - memfs_readdir
  - memfs_release
  - memfs_releasedir
  - memfs_panic
  - memfs_forget
  - memfs_forget_multi
  - memfs_setattr
  - memfs_mkdir
  - memfs_rmdir
  - memfs_unlink
  - memfs_rename
  - memfs_link
  - memfs_statfs
  - main
  source_file: /src/libfuse/example/memfs_ll.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/libfuse/example/memfs_ll.cc
      type_or_value: FUSE_MAKE_VERSION(3, 18)
    - item_type: preproc_def
      name: MEMFS_ATTR_TIMEOUT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libfuse/example/memfs_ll.cc
      type_or_value: '0.0'
    - item_type: preproc_def
      name: MEMFS_ENTRY_TIMEOUT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libfuse/example/memfs_ll.cc
      type_or_value: '0.0'
    structs:
    - fields:
      - name: entries
        type: std::vector<std::pair<std::string, const Dentry *> >
      - name: offset
        type: size_t
      item_type: struct
      name: DirHandle
      pos:
        line_end: 54
        line_start: 44
        source_file: /src/libfuse/example/memfs_ll.cc
    typedefs: []
    union: []
- function_names:
  - cusexmp_resize
  - cusexmp_expand
  - cusexmp_init
  - cusexmp_open
  - cusexmp_read
  - cusexmp_write
  - fioc_do_rw
  - cusexmp_ioctl
  - CUSEXMP_OPT
  - cusexmp_process_arg
  - main
  source_file: /src/libfuse/example/cuse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libfuse/example/cuse.c
      type_or_value: '31'
    structs:
    - fields:
      - name: major
        type: unsigned
      - name: minor
        type: unsigned
      - name: '*dev_name'
        type: char
      - name: is_help
        type: int
      item_type: struct
      name: cusexmp_param
      pos:
        line_end: 256
        line_start: 251
        source_file: /src/libfuse/example/cuse.c
    typedefs: []
    union: []
- function_names:
  - hello_stat
  - hello_ll_getattr
  - hello_ll_init
  - hello_ll_lookup
  - dirbuf_add
  - min
  - reply_buf_limited
  - hello_ll_readdir
  - hello_ll_open
  - hello_ll_read
  - create_socket
  - stream_writev
  - readall
  - stream_read
  - stream_splice_send
  - fuse_cmdline_help_uds
  - main
  source_file: /src/libfuse/example/hello_ll_uds.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libfuse/example/hello_ll_uds.c
      type_or_value: '34'
    structs:
    - fields:
      - name: '*p'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: dirbuf
      pos:
        line_end: 107
        line_start: 104
        source_file: /src/libfuse/example/hello_ll_uds.c
    typedefs: []
    union: []
- function_names:
  - fioc_resize
  - fioc_expand
  - fioc_file_type
  - fioc_getattr
  - fioc_open
  - fioc_do_read
  - fioc_read
  - fioc_do_write
  - fioc_write
  - fioc_truncate
  - fioc_readdir
  - fioc_ioctl
  - main
  source_file: /src/libfuse/example/ioctl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libfuse/example/ioctl.c
      type_or_value: '35'
    - item_type: preproc_def
      name: FIOC_NAME
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libfuse/example/ioctl.c
      type_or_value: '"fioc"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - passthrough_ll_help
  - lo_data
  - lo_inode
  - lo_fd
  - lo_debug
  - lo_init
  - lo_destroy
  - lo_getattr
  - lo_setattr
  - lo_find
  - create_new_inode
  - fill_entry_param_new_inode
  - lo_do_lookup
  - lo_lookup
  - lo_mknod_symlink
  - lo_mknod
  - lo_mkdir
  - lo_symlink
  - lo_link
  - lo_rmdir
  - lo_rename
  - lo_unlink
  - unref_inode
  - lo_forget_one
  - lo_forget
  - lo_forget_multi
  - lo_readlink
  - lo_dirp
  - lo_opendir
  - is_dot_or_dotdot
  - lo_do_readdir
  - lo_readdir
  - lo_readdirplus
  - lo_releasedir
  - lo_tmpfile
  - lo_create
  - lo_fsyncdir
  - lo_open
  - lo_release
  - lo_flush
  - lo_fsync
  - lo_read
  - lo_write_buf
  - lo_statfs
  - lo_fallocate
  - lo_flock
  - lo_getxattr
  - lo_listxattr
  - lo_setxattr
  - lo_removexattr
  - lo_copy_file_range
  - lo_lseek
  - lo_statx
  - main
  source_file: /src/libfuse/example/passthrough_ll.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libfuse/example/passthrough_ll.c
      type_or_value: FUSE_MAKE_VERSION(3, 18)
    structs:
    - fields:
      - name: _uintptr_to_must_hold_fuse_ino_t
        type: unsigned
      item_type: struct
      name: _uintptr_to_must_hold_fuse_ino_t_dummy_struct
      pos:
        line_end: 63
        line_start: 61
        source_file: /src/libfuse/example/passthrough_ll.c
    - fields:
      - name: '*next'
        type: struct lo_inode
      - name: '*prev'
        type: struct lo_inode
      - name: fd
        type: int
      - name: ino
        type: ino_t
      - name: dev
        type: dev_t
      - name: refcount
        type: uint64_t
      item_type: struct
      name: lo_inode
      pos:
        line_end: 73
        line_start: 66
        source_file: /src/libfuse/example/passthrough_ll.c
    - fields:
      - name: mutex
        type: pthread_mutex_t
      - name: debug
        type: int
      - name: writeback
        type: int
      - name: flock
        type: int
      - name: xattr
        type: int
      - name: '*source'
        type: char
      - name: timeout
        type: double
      - name: cache
        type: int
      - name: timeout_set
        type: int
      - name: root
        type: struct lo_inode
      item_type: struct
      name: lo_data
      pos:
        line_end: 92
        line_start: 81
        source_file: /src/libfuse/example/passthrough_ll.c
    - fields:
      - name: '*dp'
        type: DIR
      - name: '*entry'
        type: struct dirent
      - name: offset
        type: off_t
      item_type: struct
      name: lo_dirp
      pos:
        line_end: 620
        line_start: 616
        source_file: /src/libfuse/example/passthrough_ll.c
    typedefs: []
    union: []
- function_names:
  - xmp_init
  - xmp_getattr
  - xmp_access
  - xmp_readlink
  - xmp_opendir
  - get_dirp
  - xmp_readdir
  - xmp_releasedir
  - xmp_mknod
  - xmp_mkdir
  - xmp_unlink
  - xmp_rmdir
  - xmp_symlink
  - xmp_rename
  - xmp_link
  - xmp_chmod
  - xmp_chown
  - xmp_truncate
  - xmp_utimens
  - xmp_create
  - xmp_open
  - xmp_read
  - xmp_read_buf
  - xmp_write
  - xmp_write_buf
  - xmp_statfs
  - xmp_flush
  - xmp_release
  - xmp_fsync
  - xmp_fallocate
  - xmp_setxattr
  - xmp_getxattr
  - xmp_listxattr
  - xmp_removexattr
  - xmp_lock
  - xmp_flock
  - xmp_copy_file_range
  - xmp_lseek
  - xmp_statx
  - main
  source_file: /src/libfuse/example/passthrough_fh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libfuse/example/passthrough_fh.c
      type_or_value: FUSE_MAKE_VERSION(3, 18)
    structs:
    - fields:
      - name: '*dp'
        type: DIR
      - name: '*entry'
        type: struct dirent
      - name: offset
        type: off_t
      item_type: struct
      name: xmp_dirp
      pos:
        line_end: 123
        line_start: 119
        source_file: /src/libfuse/example/passthrough_fh.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libfuse/example/ioctl.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: offset
        type: off_t
      - name: '*buf'
        type: void
      - name: size
        type: size_t
      - name: prev_size
        type: size_t
      - name: new_size
        type: size_t
      item_type: struct
      name: fioc_rw_arg
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/libfuse/example/ioctl.h
    typedefs: []
    union: []
- function_names:
  - OPTION
  - tfs_stat
  - tfs_init
  - tfs_destroy
  - tfs_lookup
  - tfs_forget
  - tfs_getattr
  - dirbuf_add
  - min
  - reply_buf_limited
  - tfs_readdir
  - tfs_open
  - tfs_read
  - update_fs
  - update_fs_loop
  - show_help
  - main
  source_file: /src/libfuse/example/notify_inval_inode.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libfuse/example/notify_inval_inode.c
      type_or_value: FUSE_MAKE_VERSION(3, 12)
    - item_type: preproc_def
      name: NO_TIMEOUT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libfuse/example/notify_inval_inode.c
      type_or_value: '500000'
    - item_type: preproc_def
      name: MAX_STR_LEN
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libfuse/example/notify_inval_inode.c
      type_or_value: '128'
    - item_type: preproc_def
      name: FILE_INO
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libfuse/example/notify_inval_inode.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FILE_NAME
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libfuse/example/notify_inval_inode.c
      type_or_value: '"current_time"'
    structs:
    - fields:
      - name: no_notify
        type: int
      - name: update_interval
        type: int
      item_type: struct
      name: options
      pos:
        line_end: 92
        line_start: 89
        source_file: /src/libfuse/example/notify_inval_inode.c
    - fields:
      - name: '*p'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: dirbuf
      pos:
        line_end: 189
        line_start: 186
        source_file: /src/libfuse/example/notify_inval_inode.c
    typedefs: []
    union: []
- function_names:
  - OPTION
  - hello_init
  - hello_getattr
  - hello_readdir
  - hello_open
  - hello_read
  - show_help
  - main
  source_file: /src/libfuse/example/hello.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libfuse/example/hello.c
      type_or_value: '31'
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*contents'
        type: char
      - name: show_help
        type: int
      item_type: struct
      name: options
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/libfuse/example/hello.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libfuse/example/poll_client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FSEL_FILES
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libfuse/example/poll_client.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - xmp_init
  - xmp_getattr
  - xmp_access
  - xmp_readlink
  - xmp_readdir
  - xmp_mknod
  - xmp_mkdir
  - xmp_unlink
  - xmp_rmdir
  - xmp_symlink
  - xmp_rename
  - xmp_link
  - xmp_chmod
  - xmp_chown
  - xmp_truncate
  - xmp_utimens
  - xmp_create
  - xmp_open
  - xmp_read
  - xmp_write
  - xmp_statfs
  - xmp_release
  - xmp_fsync
  - xmp_fallocate
  - xmp_setxattr
  - xmp_getxattr
  - xmp_listxattr
  - xmp_removexattr
  - xmp_copy_file_range
  - xmp_lseek
  - xmp_statx
  - main
  source_file: /src/libfuse/example/passthrough.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libfuse/example/passthrough.c
      type_or_value: FUSE_MAKE_VERSION(3, 18)
    - item_type: preproc_def
      name: _XOPEN_SOURCE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libfuse/example/passthrough.c
      type_or_value: '700'
    structs: []
    typedefs: []
    union: []
- function_names:
  - cxxopts::toLocalString
  - cxxopts::UnicodeStringIterator::UnicodeStringIterator
  - operator*() const
  - operator==(const UnicodeStringIterator& rhs) const
  - operator!=(const UnicodeStringIterator& rhs) const
  - "&\n    operator++()"
  - operator+(int32_t v)
  - cxxopts::stringAppend
  - cxxopts::stringAppend
  - cxxopts::stringAppend
  - cxxopts::stringLength
  - cxxopts::toUTF8String
  - cxxopts::empty
  - cxxopts::toLocalString
  - cxxopts::UnicodeStringIterator::UnicodeStringIterator
  - operator*() const
  - operator==(const UnicodeStringIterator& rhs) const
  - operator!=(const UnicodeStringIterator& rhs) const
  - "&\n    operator++()"
  - operator+(int32_t v)
  - cxxopts::stringAppend
  - cxxopts::stringAppend
  - cxxopts::stringAppend
  - cxxopts::stringLength
  - cxxopts::toUTF8String
  - cxxopts::empty
  - std::begin
  - std::end
  - std::begin
  - std::end
  - cxxopts::toLocalString
  - cxxopts::stringLength
  - cxxopts::stringAppend
  - cxxopts::stringAppend
  - cxxopts::stringAppend
  - cxxopts::toUTF8String
  - cxxopts::empty
  - cxxopts::toLocalString
  - cxxopts::stringLength
  - cxxopts::stringAppend
  - cxxopts::stringAppend
  - cxxopts::stringAppend
  - cxxopts::toUTF8String
  - cxxopts::empty
  - ~Value()
  - cxxopts::OptionException::OptionException
  - cxxopts::OptionException::what
  - cxxopts::OptionSpecException::OptionSpecException
  - cxxopts::OptionParseException::OptionParseException
  - cxxopts::option_exists_error::option_exists_error
  - cxxopts::invalid_option_format_error::invalid_option_format_error
  - cxxopts::option_syntax_exception::option_syntax_exception
  - cxxopts::option_not_exists_exception::option_not_exists_exception
  - cxxopts::missing_argument_exception::missing_argument_exception
  - cxxopts::option_requires_argument_exception::option_requires_argument_exception
  - cxxopts::option_not_has_argument_exception::option_not_has_argument_exception
  - cxxopts::option_not_present_exception::option_not_present_exception
  - cxxopts::argument_incorrect_type::argument_incorrect_type
  - cxxopts::option_required_exception::option_required_exception
  - operator()(bool negative, U u, const std::string& text)
  - operator()(bool, U, const std::string&)
  - cxxopts::values::detail::check_signed_range
  - operator()(bool negative, U u, const std::string& text)
  - operator()(bool, U, const std::string&)
  - cxxopts::values::detail::check_signed_range
  - cxxopts::values::checked_negate
  - cxxopts::values::checked_negate
  - cxxopts::values::integer_parser
  - cxxopts::values::stringstream_parser
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::abstract_value::abstract_value
  - cxxopts::values::abstract_value::abstract_value
  - ~abstract_value()
  - cxxopts::values::abstract_value::abstract_value
  - cxxopts::values::abstract_value::parse
  - cxxopts::values::abstract_value::is_container
  - cxxopts::values::abstract_value::parse
  - cxxopts::values::abstract_value::has_default
  - cxxopts::values::abstract_value::has_implicit
  - cxxopts::values::abstract_value::default_value
  - cxxopts::values::abstract_value::implicit_value
  - cxxopts::values::abstract_value::no_implicit_value
  - cxxopts::values::abstract_value::get_default_value
  - cxxopts::values::abstract_value::get_implicit_value
  - cxxopts::values::abstract_value::is_boolean
  - "&\n      get() const"
  - cxxopts::values::standard_value::clone
  - ~standard_value()
  - cxxopts::values::standard_value<bool>::standard_value
  - cxxopts::values::standard_value<bool>::standard_value
  - cxxopts::values::standard_value<bool>::clone
  - cxxopts::values::standard_value<bool>::set_default_and_implicit
  - operator()(bool negative, U u, const std::string& text)
  - operator()(bool, U, const std::string&)
  - cxxopts::values::detail::check_signed_range
  - operator()(bool negative, U u, const std::string& text)
  - operator()(bool, U, const std::string&)
  - cxxopts::values::detail::check_signed_range
  - cxxopts::values::checked_negate
  - cxxopts::values::checked_negate
  - cxxopts::values::integer_parser
  - cxxopts::values::stringstream_parser
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::abstract_value::abstract_value
  - cxxopts::values::abstract_value::abstract_value
  - ~abstract_value()
  - cxxopts::values::abstract_value::abstract_value
  - cxxopts::values::abstract_value::parse
  - cxxopts::values::abstract_value::is_container
  - cxxopts::values::abstract_value::parse
  - cxxopts::values::abstract_value::has_default
  - cxxopts::values::abstract_value::has_implicit
  - cxxopts::values::abstract_value::default_value
  - cxxopts::values::abstract_value::implicit_value
  - cxxopts::values::abstract_value::no_implicit_value
  - cxxopts::values::abstract_value::get_default_value
  - cxxopts::values::abstract_value::get_implicit_value
  - cxxopts::values::abstract_value::is_boolean
  - "&\n      get() const"
  - cxxopts::values::standard_value::clone
  - ~standard_value()
  - cxxopts::values::standard_value<bool>::standard_value
  - cxxopts::values::standard_value<bool>::standard_value
  - cxxopts::values::standard_value<bool>::clone
  - cxxopts::values::standard_value<bool>::set_default_and_implicit
  - cxxopts::value
  - cxxopts::value
  - cxxopts::OptionDetails::OptionDetails
  - cxxopts::OptionDetails::OptionDetails
  - cxxopts::OptionDetails::OptionDetails
  - "&\n    description() const"
  - '& value() const'
  - cxxopts::OptionDetails::make_storage
  - "&\n    short_name() const"
  - "&\n    long_name() const"
  - cxxopts::OptionValue::parse
  - cxxopts::OptionValue::parse_default
  - cxxopts::OptionValue::count
  - cxxopts::OptionValue::has_default
  - cxxopts::OptionValue::as
  - cxxopts::OptionValue::ensure_value
  - cxxopts::KeyValue::KeyValue
  - "&\n    key() const"
  - "&\n    value() const"
  - cxxopts::KeyValue::as
  - cxxopts::ParseResult::count
  - "&\n    operator[](const std::string& option) const"
  - "&\n    arguments() const"
  - cxxopts::Options::Options
  - "&\n    positional_help(std::string help_text)"
  - "&\n    custom_help(std::string help_text)"
  - "&\n    show_positional_help()"
  - "&\n    allow_unrecognised_options()"
  - cxxopts::Options::parse_positional
  - cxxopts::OptionAdder::OptionAdder
  - cxxopts::format_option
  - cxxopts::format_description
  - cxxopts::format_option
  - cxxopts::format_description
  - cxxopts::ParseResult::ParseResult
  - cxxopts::Options::add_options
  - "&\nOptionAdder::operator()\n(\n  const std::string& opts,\n  const std::string&
    desc,\n  std::shared_ptr<const Value> value,\n  std::string arg_help\n)"
  - cxxopts::ParseResult::parse_default
  - cxxopts::ParseResult::parse_option
  - cxxopts::ParseResult::checked_parse_arg
  - cxxopts::ParseResult::add_to_option
  - cxxopts::ParseResult::consume_positional
  - cxxopts::Options::parse_positional
  - cxxopts::Options::parse_positional
  - cxxopts::Options::parse_positional
  - cxxopts::Options::parse
  - cxxopts::ParseResult::parse
  - cxxopts::Options::add_option
  - cxxopts::Options::add_one_option
  - cxxopts::Options::help_one_group
  - cxxopts::Options::generate_group_help
  - cxxopts::Options::generate_all_groups_help
  - cxxopts::Options::help
  - cxxopts::Options::groups
  - '&

    Options::group_help(const std::string& group) const'
  - ~Value()
  - cxxopts::OptionException::OptionException
  - cxxopts::OptionException::what
  - cxxopts::OptionSpecException::OptionSpecException
  - cxxopts::OptionParseException::OptionParseException
  - cxxopts::option_exists_error::option_exists_error
  - cxxopts::invalid_option_format_error::invalid_option_format_error
  - cxxopts::option_syntax_exception::option_syntax_exception
  - cxxopts::option_not_exists_exception::option_not_exists_exception
  - cxxopts::missing_argument_exception::missing_argument_exception
  - cxxopts::option_requires_argument_exception::option_requires_argument_exception
  - cxxopts::option_not_has_argument_exception::option_not_has_argument_exception
  - cxxopts::option_not_present_exception::option_not_present_exception
  - cxxopts::argument_incorrect_type::argument_incorrect_type
  - cxxopts::option_required_exception::option_required_exception
  - operator()(bool negative, U u, const std::string& text)
  - operator()(bool, U, const std::string&)
  - cxxopts::values::detail::check_signed_range
  - operator()(bool negative, U u, const std::string& text)
  - operator()(bool, U, const std::string&)
  - cxxopts::values::detail::check_signed_range
  - cxxopts::values::checked_negate
  - cxxopts::values::checked_negate
  - cxxopts::values::integer_parser
  - cxxopts::values::stringstream_parser
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::abstract_value::abstract_value
  - cxxopts::values::abstract_value::abstract_value
  - ~abstract_value()
  - cxxopts::values::abstract_value::abstract_value
  - cxxopts::values::abstract_value::parse
  - cxxopts::values::abstract_value::is_container
  - cxxopts::values::abstract_value::parse
  - cxxopts::values::abstract_value::has_default
  - cxxopts::values::abstract_value::has_implicit
  - cxxopts::values::abstract_value::default_value
  - cxxopts::values::abstract_value::implicit_value
  - cxxopts::values::abstract_value::no_implicit_value
  - cxxopts::values::abstract_value::get_default_value
  - cxxopts::values::abstract_value::get_implicit_value
  - cxxopts::values::abstract_value::is_boolean
  - "&\n      get() const"
  - cxxopts::values::standard_value::clone
  - ~standard_value()
  - cxxopts::values::standard_value<bool>::standard_value
  - cxxopts::values::standard_value<bool>::standard_value
  - cxxopts::values::standard_value<bool>::clone
  - cxxopts::values::standard_value<bool>::set_default_and_implicit
  - operator()(bool negative, U u, const std::string& text)
  - operator()(bool, U, const std::string&)
  - cxxopts::values::detail::check_signed_range
  - operator()(bool negative, U u, const std::string& text)
  - operator()(bool, U, const std::string&)
  - cxxopts::values::detail::check_signed_range
  - cxxopts::values::checked_negate
  - cxxopts::values::checked_negate
  - cxxopts::values::integer_parser
  - cxxopts::values::stringstream_parser
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::parse_value
  - cxxopts::values::abstract_value::abstract_value
  - cxxopts::values::abstract_value::abstract_value
  - ~abstract_value()
  - cxxopts::values::abstract_value::abstract_value
  - cxxopts::values::abstract_value::parse
  - cxxopts::values::abstract_value::is_container
  - cxxopts::values::abstract_value::parse
  - cxxopts::values::abstract_value::has_default
  - cxxopts::values::abstract_value::has_implicit
  - cxxopts::values::abstract_value::default_value
  - cxxopts::values::abstract_value::implicit_value
  - cxxopts::values::abstract_value::no_implicit_value
  - cxxopts::values::abstract_value::get_default_value
  - cxxopts::values::abstract_value::get_implicit_value
  - cxxopts::values::abstract_value::is_boolean
  - "&\n      get() const"
  - cxxopts::values::standard_value::clone
  - ~standard_value()
  - cxxopts::values::standard_value<bool>::standard_value
  - cxxopts::values::standard_value<bool>::standard_value
  - cxxopts::values::standard_value<bool>::clone
  - cxxopts::values::standard_value<bool>::set_default_and_implicit
  - cxxopts::value
  - cxxopts::value
  - cxxopts::OptionDetails::OptionDetails
  - cxxopts::OptionDetails::OptionDetails
  - cxxopts::OptionDetails::OptionDetails
  - "&\n    description() const"
  - '& value() const'
  - cxxopts::OptionDetails::make_storage
  - "&\n    short_name() const"
  - "&\n    long_name() const"
  - cxxopts::OptionValue::parse
  - cxxopts::OptionValue::parse_default
  - cxxopts::OptionValue::count
  - cxxopts::OptionValue::has_default
  - cxxopts::OptionValue::as
  - cxxopts::OptionValue::ensure_value
  - cxxopts::KeyValue::KeyValue
  - "&\n    key() const"
  - "&\n    value() const"
  - cxxopts::KeyValue::as
  - cxxopts::ParseResult::count
  - "&\n    operator[](const std::string& option) const"
  - "&\n    arguments() const"
  - cxxopts::Options::Options
  - "&\n    positional_help(std::string help_text)"
  - "&\n    custom_help(std::string help_text)"
  - "&\n    show_positional_help()"
  - "&\n    allow_unrecognised_options()"
  - cxxopts::Options::parse_positional
  - cxxopts::OptionAdder::OptionAdder
  - cxxopts::format_option
  - cxxopts::format_description
  - cxxopts::format_option
  - cxxopts::format_description
  - cxxopts::ParseResult::ParseResult
  - cxxopts::Options::add_options
  - "&\nOptionAdder::operator()\n(\n  const std::string& opts,\n  const std::string&
    desc,\n  std::shared_ptr<const Value> value,\n  std::string arg_help\n)"
  - cxxopts::ParseResult::parse_default
  - cxxopts::ParseResult::parse_option
  - cxxopts::ParseResult::checked_parse_arg
  - cxxopts::ParseResult::add_to_option
  - cxxopts::ParseResult::consume_positional
  - cxxopts::Options::parse_positional
  - cxxopts::Options::parse_positional
  - cxxopts::Options::parse_positional
  - cxxopts::Options::parse
  - cxxopts::ParseResult::parse
  - cxxopts::Options::add_option
  - cxxopts::Options::add_one_option
  - cxxopts::Options::help_one_group
  - cxxopts::Options::generate_group_help
  - cxxopts::Options::generate_all_groups_help
  - cxxopts::Options::help
  - cxxopts::Options::groups
  - '&

    Options::group_help(const std::string& group) const'
  source_file: /src/libfuse/example/cxxopts.hpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CXXOPTS_VECTOR_DELIMITER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libfuse/example/cxxopts.hpp
      type_or_value: ''','''
    - item_type: preproc_def
      name: CXXOPTS__VERSION_MAJOR
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libfuse/example/cxxopts.hpp
      type_or_value: '2'
    - item_type: preproc_def
      name: CXXOPTS__VERSION_MINOR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libfuse/example/cxxopts.hpp
      type_or_value: '2'
    - item_type: preproc_def
      name: CXXOPTS__VERSION_PATCH
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libfuse/example/cxxopts.hpp
      type_or_value: '1'
    structs:
    - fields:
      - name: major
        type: uint8_t
      item_type: struct
      name: "version = {\n    CXXOPTS__VERSION_MAJOR,\n    CXXOPTS__VERSION_MINOR,\n
        \   CXXOPTS__VERSION_PATCH\n  }"
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: major
        type: uint8_t
      item_type: struct
      name: "version = {\n    CXXOPTS__VERSION_MAJOR,\n    CXXOPTS__VERSION_MINOR,\n
        \   CXXOPTS__VERSION_PATCH\n  }"
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, true>
      pos:
        line_end: 508
        line_start: 487
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, false>
      pos:
        line_end: 516
        line_start: 511
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, true>
      pos:
        line_end: 508
        line_start: 487
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, false>
      pos:
        line_end: 516
        line_start: 511
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: type_is_container
      pos:
        line_end: 748
        line_start: 745
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: type_is_container<std::vector<T>>
      pos:
        line_end: 754
        line_start: 751
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, true>
      pos:
        line_end: 508
        line_start: 487
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, false>
      pos:
        line_end: 516
        line_start: 511
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, true>
      pos:
        line_end: 508
        line_start: 487
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, false>
      pos:
        line_end: 516
        line_start: 511
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: type_is_container
      pos:
        line_end: 748
        line_start: 745
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: type_is_container<std::vector<T>>
      pos:
        line_end: 754
        line_start: 751
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: s
        type: std::string
      - name: l
        type: std::string
      - name: desc
        type: String
      - name: has_default
        type: bool
      - name: default_value
        type: std::string
      - name: has_implicit
        type: bool
      - name: implicit_value
        type: std::string
      - name: arg_help
        type: std::string
      - name: is_container
        type: bool
      - name: is_boolean
        type: bool
      item_type: struct
      name: HelpOptionDetails
      pos:
        line_end: 1028
        line_start: 1016
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: name
        type: std::string
      - name: description
        type: std::string
      - name: options
        type: std::vector<HelpOptionDetails>
      item_type: struct
      name: HelpGroupDetails
      pos:
        line_end: 1035
        line_start: 1030
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, true>
      pos:
        line_end: 508
        line_start: 487
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, false>
      pos:
        line_end: 516
        line_start: 511
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, true>
      pos:
        line_end: 508
        line_start: 487
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, false>
      pos:
        line_end: 516
        line_start: 511
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: type_is_container
      pos:
        line_end: 748
        line_start: 745
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: type_is_container<std::vector<T>>
      pos:
        line_end: 754
        line_start: 751
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, true>
      pos:
        line_end: 508
        line_start: 487
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, false>
      pos:
        line_end: 516
        line_start: 511
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, true>
      pos:
        line_end: 508
        line_start: 487
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields: []
      item_type: struct
      name: SignedCheck<T, false>
      pos:
        line_end: 516
        line_start: 511
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: type_is_container
      pos:
        line_end: 748
        line_start: 745
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: type_is_container<std::vector<T>>
      pos:
        line_end: 754
        line_start: 751
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: s
        type: std::string
      - name: l
        type: std::string
      - name: desc
        type: String
      - name: has_default
        type: bool
      - name: default_value
        type: std::string
      - name: has_implicit
        type: bool
      - name: implicit_value
        type: std::string
      - name: arg_help
        type: std::string
      - name: is_container
        type: bool
      - name: is_boolean
        type: bool
      item_type: struct
      name: HelpOptionDetails
      pos:
        line_end: 1028
        line_start: 1016
        source_file: /src/libfuse/example/cxxopts.hpp
    - fields:
      - name: name
        type: std::string
      - name: description
        type: std::string
      - name: options
        type: std::vector<HelpOptionDetails>
      item_type: struct
      name: HelpGroupDetails
      pos:
        line_end: 1035
        line_start: 1030
        source_file: /src/libfuse/example/cxxopts.hpp
    typedefs:
    - item_type: typedef
      name: String
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/libfuse/example/cxxopts.hpp
      type: UnicodeString
    - item_type: typedef
      name: String
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/libfuse/example/cxxopts.hpp
      type: UnicodeString
    - item_type: typedef
      name: String
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/libfuse/example/cxxopts.hpp
      type: string
    - item_type: typedef
      name: String
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/libfuse/example/cxxopts.hpp
      type: string
    - item_type: typedef
      name: OptionMap
      pos:
        line_end: 1235
        line_start: 1234
        source_file: /src/libfuse/example/cxxopts.hpp
      type: unordered_map<std::string, std::shared_ptr<OptionDetails>>
    - item_type: typedef
      name: OptionHelp
      pos:
        line_end: 1953
        line_start: 1953
        source_file: /src/libfuse/example/cxxopts.hpp
      type: vector<std::pair<String, String>>
    - item_type: typedef
      name: OptionMap
      pos:
        line_end: 1235
        line_start: 1234
        source_file: /src/libfuse/example/cxxopts.hpp
      type: unordered_map<std::string, std::shared_ptr<OptionDetails>>
    - item_type: typedef
      name: OptionHelp
      pos:
        line_end: 1953
        line_start: 1953
        source_file: /src/libfuse/example/cxxopts.hpp
      type: vector<std::pair<String, String>>
    union: []
- function_names:
  - OPTION
  - xmp_init
  - xmp_getattr
  - xmp_readdir
  - xmp_open
  - xmp_read
  - update_fs
  - invalidate
  - update_fs_loop
  - show_help
  - main
  source_file: /src/libfuse/example/invalidate_path.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libfuse/example/invalidate_path.c
      type_or_value: '34'
    - item_type: preproc_def
      name: NO_TIMEOUT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libfuse/example/invalidate_path.c
      type_or_value: '500000'
    - item_type: preproc_def
      name: MAX_STR_LEN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libfuse/example/invalidate_path.c
      type_or_value: '128'
    - item_type: preproc_def
      name: TIME_FILE_NAME
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libfuse/example/invalidate_path.c
      type_or_value: '"current_time"'
    - item_type: preproc_def
      name: TIME_FILE_INO
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libfuse/example/invalidate_path.c
      type_or_value: '2'
    - item_type: preproc_def
      name: GROW_FILE_NAME
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libfuse/example/invalidate_path.c
      type_or_value: '"growing"'
    - item_type: preproc_def
      name: GROW_FILE_INO
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libfuse/example/invalidate_path.c
      type_or_value: '3'
    structs:
    - fields:
      - name: no_notify
        type: int
      - name: update_interval
        type: int
      item_type: struct
      name: options
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/libfuse/example/invalidate_path.c
    typedefs: []
    union: []
- function_names:
  - null_getattr
  - null_truncate
  - null_open
  - null_read
  - null_write
  - main
  source_file: /src/libfuse/example/null.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libfuse/example/null.c
      type_or_value: '31'
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_rw
  - main
  source_file: /src/libfuse/example/cuse_client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - OPTION
  - tfs_stat
  - tfs_init
  - tfs_lookup
  - tfs_forget
  - tfs_getattr
  - dirbuf_add
  - min
  - reply_buf_limited
  - tfs_readdir
  - update_fs
  - update_fs_loop
  - show_help
  - main
  source_file: /src/libfuse/example/notify_inval_entry.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libfuse/example/notify_inval_entry.c
      type_or_value: FUSE_MAKE_VERSION(3, 12)
    - item_type: preproc_def
      name: MAX_STR_LEN
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libfuse/example/notify_inval_entry.c
      type_or_value: '128'
    structs:
    - fields:
      - name: no_notify
        type: int
      - name: timeout
        type: float
      - name: update_interval
        type: int
      - name: only_expire
        type: int
      - name: inc_epoch
        type: int
      item_type: struct
      name: options
      pos:
        line_end: 112
        line_start: 106
        source_file: /src/libfuse/example/notify_inval_entry.c
    - fields:
      - name: '*p'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: dirbuf
      pos:
        line_end: 208
        line_start: 205
        source_file: /src/libfuse/example/notify_inval_entry.c
    typedefs: []
    union: []
- function_names:
  - print_capabilities
  - pc_init
  - main
  source_file: /src/libfuse/example/printcap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libfuse/example/printcap.c
      type_or_value: '31'
    structs:
    - fields:
      - name: flag
        type: uint64_t
      - name: '*name'
        type: char
      item_type: struct
      name: cap_info
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/libfuse/example/printcap.c
    typedefs: []
    union: []
- function_names:
  - hello_stat
  - hello_ll_init
  - hello_ll_getattr
  - hello_ll_lookup
  - dirbuf_add
  - min
  - reply_buf_limited
  - hello_ll_readdir
  - hello_ll_open
  - hello_ll_read
  - hello_ll_getxattr
  - hello_ll_setxattr
  - hello_ll_removexattr
  - main
  source_file: /src/libfuse/example/hello_ll.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libfuse/example/hello_ll.c
      type_or_value: FUSE_MAKE_VERSION(3, 12)
    structs:
    - fields:
      - name: '*p'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: dirbuf
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/libfuse/example/hello_ll.c
    typedefs: []
    union: []
- function_names:
  - fsel_path_index
  - fsel_destroy
  - fsel_getattr
  - fsel_readdir
  - fsel_open
  - fsel_release
  - fsel_read
  - fsel_poll
  - fsel_producer
  - main
  source_file: /src/libfuse/example/poll.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libfuse/example/poll.c
      type_or_value: '31'
    - item_type: preproc_def
      name: FSEL_CNT_MAX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libfuse/example/poll.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: FSEL_FILES
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libfuse/example/poll.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_fallocate
  - mknod_wrapper
  source_file: /src/libfuse/example/passthrough_helpers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator()(const SrcId &id) const
  - operator()(const SrcId &id) const
  - Inode
  - Inode
  - Inode
  - '&operator=(Inode &&inode)'
  - '&operator=(const Inode &)'
  - ~Inode()
  - get_inode
  - get_fs_fd
  - sfs_init
  - sfs_getattr
  - with_fd_path
  - do_setattr
  - sfs_setattr
  - do_lookup
  - sfs_lookup
  - mknod_symlink
  - sfs_mknod
  - sfs_mkdir
  - sfs_symlink
  - sfs_link
  - sfs_rmdir
  - sfs_rename
  - sfs_unlink
  - forget_one
  - sfs_forget
  - sfs_forget_multi
  - sfs_readlink
  - DirHandle
  - DirHandle
  - '&operator=(const DirHandle &)'
  - ~DirHandle()
  - get_dir_handle
  - sfs_opendir
  - is_dot_or_dotdot
  - do_readdir
  - sfs_readdir
  - sfs_readdirplus
  - sfs_releasedir
  - do_passthrough_open
  - sfs_create_open_flags
  - sfs_create
  - create_new_inode
  - sfs_tmpfile
  - sfs_fsyncdir
  - sfs_open
  - sfs_release
  - sfs_flush
  - sfs_fsync
  - do_read
  - sfs_read
  - do_write_buf
  - sfs_write_buf
  - sfs_statfs
  - sfs_fallocate
  - sfs_flock
  - sfs_getxattr
  - sfs_listxattr
  - sfs_setxattr
  - sfs_removexattr
  - assign_operations
  - print_usage
  - parse_wrapper
  - string_split
  - string_join
  - parse_options
  - maximize_fd_limit
  - main
  source_file: /src/libfuse/example/passthrough_hp.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_USE_VERSION
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libfuse/example/passthrough_hp.cc
      type_or_value: FUSE_MAKE_VERSION(3, 12)
    - item_type: preproc_def
      name: SFS_DEFAULT_THREADS
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libfuse/example/passthrough_hp.cc
      type_or_value: '"-1" // take libfuse value as default'
    - item_type: preproc_def
      name: SFS_DEFAULT_CLONE_FD
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libfuse/example/passthrough_hp.cc
      type_or_value: '"0"'
    - item_type: preproc_def
      name: FUSE_BUF_COPY_FLAGS
      pos:
        line_end: 176
        line_start: 173
        source_file: /src/libfuse/example/passthrough_hp.cc
      type_or_value: "(fs.nosplice ? FUSE_BUF_NO_SPLICE : \\\n\t\t       static_cast<fuse_buf_copy_flags>(FUSE_BUF_SPLICE_MOVE))"
    structs:
    - fields: []
      item_type: struct
      name: hash<SrcId>
      pos:
        line_end: 119
        line_start: 114
        source_file: /src/libfuse/example/passthrough_hp.cc
    - fields: []
      item_type: struct
      name: hash<SrcId>
      pos:
        line_end: 119
        line_start: 114
        source_file: /src/libfuse/example/passthrough_hp.cc
    - fields:
      - name: fd
        type: int
      - name: src_dev
        type: dev_t
      - name: src_ino
        type: ino_t
      - name: generation
        type: int
      - name: backing_id
        type: int
      - name: nopen
        type: uint64_t
      - name: nlookup
        type: uint64_t
      - name: m
        type: std::mutex
      item_type: struct
      name: Inode
      pos:
        line_end: 148
        line_start: 125
        source_file: /src/libfuse/example/passthrough_hp.cc
    - fields:
      - name: mutex
        type: std::mutex
      - name: inodes
        type: InodeMap
      - name: root
        type: Inode
      - name: timeout
        type: double
      - name: debug
        type: bool
      - name: debug_fuse
        type: bool
      - name: foreground
        type: bool
      - name: source
        type: std::string
      - name: blocksize
        type: size_t
      - name: src_dev
        type: dev_t
      - name: nosplice
        type: bool
      - name: nocache
        type: bool
      - name: num_threads
        type: size_t
      - name: clone_fd
        type: bool
      - name: fuse_mount_options
        type: std::string
      - name: direct_io
        type: bool
      - name: passthrough
        type: bool
      item_type: struct
      name: Fs
      pos:
        line_end: 170
        line_start: 150
        source_file: /src/libfuse/example/passthrough_hp.cc
    - fields:
      - name: '*dp'
        type: DIR
      - name: offset
        type: off_t
      item_type: struct
      name: DirHandle
      pos:
        line_end: 693
        line_start: 680
        source_file: /src/libfuse/example/passthrough_hp.cc
    typedefs:
    - item_type: typedef
      name: SrcId
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/libfuse/example/passthrough_hp.cc
      type: pair<ino_t, dev_t>
    - item_type: typedef
      name: InodeMap
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/libfuse/example/passthrough_hp.cc
      type: unordered_map<SrcId, Inode>
    union: []
- function_names:
  - unescape
  - GETMNTENT
  - extract_x_options
  - get_user_name
  - drop_privs
  - restore_privs
  - lock_umount
  - unlock_umount
  - add_mount
  - may_unmount
  - check_is_mount_child
  - clone_newns
  - check_is_mount
  - chdir_to_parent
  - unmount_fuse_locked
  - unmount_fuse
  - count_fuse_fs
  - count_fuse_fs
  - add_mount
  - unmount_fuse
  - strip_line
  - parse_line
  - read_conf
  - begins_with
  - find_mount_flag
  - add_option
  - get_mnt_opts
  - opt_eq
  - get_string_opt
  - mount_notrunc
  - do_mount
  - check_perm
  - open_fuse_device
  - mount_fuse
  - send_fd
  - recheck_ENOTCONN_as_owner
  - should_auto_unmount
  - usage
  - show_version
  - close_range_loop
  - close_inherited_fds
  - main
  source_file: /src/libfuse/util/fusermount.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUSE_COMMFD_ENV
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libfuse/util/fusermount.c
      type_or_value: '"_FUSE_COMMFD"'
    - item_type: preproc_def
      name: FUSE_KERN_DEVICE_ENV
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libfuse/util/fusermount.c
      type_or_value: '"FUSE_KERN_DEVICE"'
    - item_type: preproc_def
      name: FUSE_DEV
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libfuse/util/fusermount.c
      type_or_value: '"/dev/fuse"'
    - item_type: preproc_def
      name: GETMNTENT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libfuse/util/fusermount.c
      type_or_value: getmntent
    structs:
    - fields:
      - name: '*opt'
        type: char
      - name: flag
        type: unsigned long
      - name: 'on'
        type: int
      - name: safe
        type: int
      item_type: struct
      name: mount_flags
      pos:
        line_end: 694
        line_start: 689
        source_file: /src/libfuse/util/fusermount.c
    typedefs: []
    union: []
- function_names:
  - xstrdup
  - xrealloc
  - add_arg
  - add_option
  - prepare_fuse_fd
  - get_capabilities
  - set_capabilities
  - drop_and_lock_capabilities
  - main
  source_file: /src/libfuse/util/mount.fuse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECBIT_KEEP_CAPS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libfuse/util/mount.fuse.c
      type_or_value: (issecure_mask(SECURE_KEEP_CAPS))
    - item_type: preproc_def
      name: SECBIT_KEEP_CAPS_LOCKED
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libfuse/util/mount.fuse.c
      type_or_value: (issecure_mask(SECURE_KEEP_CAPS_LOCKED))
    - item_type: preproc_def
      name: SECBIT_NO_SETUID_FIXUP
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libfuse/util/mount.fuse.c
      type_or_value: (issecure_mask(SECURE_NO_SETUID_FIXUP))
    - item_type: preproc_def
      name: SECBIT_NO_SETUID_FIXUP_LOCKED
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libfuse/util/mount.fuse.c
      type_or_value: (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED))
    - item_type: preproc_def
      name: SECBIT_NOROOT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libfuse/util/mount.fuse.c
      type_or_value: (issecure_mask(SECURE_NOROOT))
    - item_type: preproc_def
      name: SECBIT_NOROOT_LOCKED
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libfuse/util/mount.fuse.c
      type_or_value: (issecure_mask(SECURE_NOROOT_LOCKED))
    - item_type: preproc_def
      name: PR_SET_NO_NEW_PRIVS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libfuse/util/mount.fuse.c
      type_or_value: '38'
    structs: []
    typedefs: []
    union: []
- function_names:
  - af_gb_init
  - af_gb_cleanup
  - af_get_null_terminated
  - af_gb_get_random_data
  - af_gb_get_null_terminated
  - af_gb_alloc_data
  - af_gb_get_fixed_string
  - af_get_short
  - af_get_int
  - af_safe_gb_init
  - ada_safe_get_int
  - ada_safe_get_char_p
  - af_safe_write_random_file
  - af_safe_gb_cleanup
  source_file: /src/fuzz-headers/lang/c/ada_fuzz_header.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GB_SIZE
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/fuzz-headers/lang/c/ada_fuzz_header.h
      type_or_value: '100'
    - item_type: preproc_def
      name: STR_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/fuzz-headers/lang/c/ada_fuzz_header.h
      type_or_value: '75'
    structs: []
    typedefs: []
    union: []
