aboutsummaryrefslogtreecommitdiff
path: root/include/fuse.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/fuse.h')
-rw-r--r--include/fuse.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/fuse.h b/include/fuse.h
index 754303f..0c5741f 100644
--- a/include/fuse.h
+++ b/include/fuse.h
@@ -339,8 +339,16 @@ struct fuse_operations {
/** Create a symbolic link */
int (*symlink) (const char *, const char *);
- /** Rename a file */
- int (*rename) (const char *, const char *, unsigned int);
+ /** Rename a file
+ *
+ * *flags* may be `RENAME_EXCHANGE` or `RENAME_NOREPLACE`. If
+ * RENAME_NOREPLACE is specified, the filesystem must not
+ * overwrite *newname* if it exists and return an error
+ * instead. If `RENAME_EXCHANGE` is specified, the filesystem
+ * must atomically exchange the two files, i.e. both must
+ * exist and neither may be deleted.
+ */
+ int (*rename) (const char *, const char *, unsigned int flags);
/** Create a hard link to a file */
int (*link) (const char *, const char *);