diff options
Diffstat (limited to 'include/fuse.h')
-rw-r--r-- | include/fuse.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/include/fuse.h b/include/fuse.h index 705c4fd..8a0fd3c 100644 --- a/include/fuse.h +++ b/include/fuse.h @@ -27,6 +27,10 @@ #include <sys/statfs.h> #include <utime.h> +#ifdef __cplusplus +extern "C" { +#endif + /* ----------------------------------------------------------- * * Basic FUSE API * * ----------------------------------------------------------- */ @@ -42,8 +46,14 @@ typedef struct fuse_dirhandle *fuse_dirh_t; * @param h the handle passed to the getdir() operation * @param name the file name of the directory entry * @param type the file type (0 if unknown) see <dirent.h> + * @param ino the inode number, ignored if "use_ino" mount option is + * not specified * @return 0 on success, -errno on error */ +typedef int (*fuse_dirfil2_t) (fuse_dirh_t h, const char *name, int type, + ino_t ino); + +/** Obsolete version of the above function */ typedef int (*fuse_dirfil_t) (fuse_dirh_t h, const char *name, int type); /** @@ -106,7 +116,7 @@ typedef int (*fuse_dirfil_t) (fuse_dirh_t h, const char *name, int type); struct fuse_operations { int (*getattr) (const char *, struct stat *); int (*readlink) (const char *, char *, size_t); - int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t); + int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil2_t); int (*mknod) (const char *, mode_t, dev_t); int (*mkdir) (const char *, mode_t); int (*unlink) (const char *); @@ -137,12 +147,9 @@ struct fuse_context { uid_t uid; gid_t gid; pid_t pid; + void *private_data; }; -#ifdef __cplusplus -extern "C" { -#endif - /* * Main function of FUSE. * @@ -271,7 +278,6 @@ int fuse_invalidate(struct fuse *f, const char *path); */ int fuse_is_lib_option(const char *opt); - /* ----------------------------------------------------------- * * Advanced API for event handling, don't worry about this... * * ----------------------------------------------------------- */ |