diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2011-05-19 15:36:20 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2011-05-19 15:36:20 +0200 |
commit | 49e85dee59a0d594b409e64dc621915617b888c3 (patch) | |
tree | b610bfca34ff0199a70b003d7fd3251b493e2f3b /include | |
parent | 7819846300dc036fb94569feff4f86cd33b459d9 (diff) | |
download | android_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.h | 10 |
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; |