aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2011-05-19 15:36:20 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2011-05-19 15:36:20 +0200
commit49e85dee59a0d594b409e64dc621915617b888c3 (patch)
treeb610bfca34ff0199a70b003d7fd3251b493e2f3b /include
parent7819846300dc036fb94569feff4f86cd33b459d9 (diff)
downloadandroid_external_fuse-49e85dee59a0d594b409e64dc621915617b888c3.tar.gz
android_external_fuse-49e85dee59a0d594b409e64dc621915617b888c3.tar.bz2
android_external_fuse-49e85dee59a0d594b409e64dc621915617b888c3.zip
Fix ioctl ABI
Fix the ambiguity of ioctl ABI on the kernel/userspace boundary for 32bit vs. 64bit userspace
Diffstat (limited to 'include')
-rw-r--r--include/fuse_kernel.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/fuse_kernel.h b/include/fuse_kernel.h
index 7e7ca17..ab8b94e 100644
--- a/include/fuse_kernel.h
+++ b/include/fuse_kernel.h
@@ -70,6 +70,9 @@
*
* 7.16
* - add BATCH_FORGET request
+ * - FUSE_IOCTL_UNRESTRICTED shall now return with array of 'struct
+ * fuse_ioctl_iovec' instead of ambiguous 'struct iovec'
+ * - add FUSE_IOCTL_32BIT flag
*/
#ifndef _LINUX_FUSE_H
@@ -234,12 +237,14 @@ struct fuse_file_lock {
* FUSE_IOCTL_COMPAT: 32bit compat ioctl on 64bit machine
* FUSE_IOCTL_UNRESTRICTED: not restricted to well-formed ioctls, retry allowed
* FUSE_IOCTL_RETRY: retry with new iovecs
+ * FUSE_IOCTL_32BIT: 32bit ioctl
*
* FUSE_IOCTL_MAX_IOV: maximum of in_iovecs + out_iovecs
*/
#define FUSE_IOCTL_COMPAT (1 << 0)
#define FUSE_IOCTL_UNRESTRICTED (1 << 1)
#define FUSE_IOCTL_RETRY (1 << 2)
+#define FUSE_IOCTL_32BIT (1 << 3)
#define FUSE_IOCTL_MAX_IOV 256
@@ -555,6 +560,11 @@ struct fuse_ioctl_in {
__u32 out_size;
};
+struct fuse_ioctl_iovec {
+ __u64 base;
+ __u64 len;
+};
+
struct fuse_ioctl_out {
__s32 result;
__u32 flags;