aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-10-26 12:53:25 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2005-10-26 12:53:25 +0000
commitb0b13d1e5499e20382ad74e202160d49e1792ee8 (patch)
tree77c9dbbceda8149929fed4e66411b49a405808cf /include
parentc4c12ae295ca6f3fb02e12d3bad8f92fee4dfe3f (diff)
downloadlibfuse-b0b13d1e5499e20382ad74e202160d49e1792ee8.tar.gz
add access operation
Diffstat (limited to 'include')
-rw-r--r--include/fuse.h16
-rw-r--r--include/fuse_common.h2
-rw-r--r--include/fuse_lowlevel.h2
3 files changed, 17 insertions, 3 deletions
diff --git a/include/fuse.h b/include/fuse.h
index 9739f26..4a099bc 100644
--- a/include/fuse.h
+++ b/include/fuse.h
@@ -63,8 +63,9 @@ typedef int (*fuse_dirfil_t) (fuse_dirh_t h, const char *name, int type,
*
* All methods are optional, but some are essential for a useful
* filesystem (e.g. getattr). Open, flush, release, fsync, opendir,
- * releasedir, fsyncdir, init and destroy are special purpose methods,
- * without which a full featured filesystem can still be implemented.
+ * releasedir, fsyncdir, access, init and destroy are special purpose
+ * methods, without which a full featured filesystem can still be
+ * implemented.
*/
struct fuse_operations {
/** Get file attributes.
@@ -296,6 +297,17 @@ struct fuse_operations {
* Introduced in version 2.3
*/
void (*destroy) (void *);
+
+ /**
+ * Check file access permissions
+ *
+ * Need not be implemented. This will be called for the access()
+ * system call. If the 'default_permissions' mount option is
+ * given, this method is not called.
+ *
+ * Introduced in version 2.5
+ */
+ int (*access) (const char *, int);
};
/** Extra context that may be needed by some filesystems
diff --git a/include/fuse_common.h b/include/fuse_common.h
index ef7e85a..a59aea6 100644
--- a/include/fuse_common.h
+++ b/include/fuse_common.h
@@ -21,7 +21,7 @@
#define FUSE_MAJOR_VERSION 2
/** Minor version of FUSE library interface */
-#define FUSE_MINOR_VERSION 4
+#define FUSE_MINOR_VERSION 5
#define FUSE_MAKE_VERSION(maj, min) ((maj) * 10 + (min))
#define FUSE_VERSION FUSE_MAKE_VERSION(FUSE_MAJOR_VERSION, FUSE_MINOR_VERSION)
diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h
index dee4325..73f57f0 100644
--- a/include/fuse_lowlevel.h
+++ b/include/fuse_lowlevel.h
@@ -642,6 +642,8 @@ struct fuse_lowlevel_ops {
* @param name of the extended attribute
*/
void (*removexattr) (fuse_req_t req, fuse_ino_t ino, const char *name);
+
+ void (*access) (fuse_req_t req, fuse_ino_t ino, int mask);
};
/**