aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-09-09 16:10:27 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-09 17:03:44 -0400
commit334f485df85ac7736ebe14940bf0a059c5f26d7d (patch)
tree754e5528289048a7104f4c1b431cebc1df16e2ce /include
parentd8a5ba45457e4a22aa39c939121efd7bb6c76672 (diff)
[PATCH] FUSE - device functions
This adds the FUSE device handling functions. This contains the following files: o dev.c - fuse device operations (read, write, release, poll) - registers misc device - support for sending requests to userspace Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/fuse.h36
1 files changed, 35 insertions, 1 deletions
diff --git a/include/linux/fuse.h b/include/linux/fuse.h
index 2b1f4ae01e9d..a1aebd7104c4 100644
--- a/include/linux/fuse.h
+++ b/include/linux/fuse.h
@@ -11,7 +11,7 @@
11#include <asm/types.h> 11#include <asm/types.h>
12 12
13/** Version number of this interface */ 13/** Version number of this interface */
14#define FUSE_KERNEL_VERSION 5 14#define FUSE_KERNEL_VERSION 6
15 15
16/** Minor version number of this interface */ 16/** Minor version number of this interface */
17#define FUSE_KERNEL_MINOR_VERSION 1 17#define FUSE_KERNEL_MINOR_VERSION 1
@@ -19,6 +19,12 @@
19/** The node ID of the root inode */ 19/** The node ID of the root inode */
20#define FUSE_ROOT_ID 1 20#define FUSE_ROOT_ID 1
21 21
22/** The major number of the fuse character device */
23#define FUSE_MAJOR 10
24
25/** The minor number of the fuse character device */
26#define FUSE_MINOR 229
27
22struct fuse_attr { 28struct fuse_attr {
23 __u64 ino; 29 __u64 ino;
24 __u64 size; 30 __u64 size;
@@ -36,3 +42,31 @@ struct fuse_attr {
36 __u32 rdev; 42 __u32 rdev;
37}; 43};
38 44
45enum fuse_opcode {
46 FUSE_INIT = 26
47};
48
49/* Conservative buffer size for the client */
50#define FUSE_MAX_IN 8192
51
52struct fuse_init_in_out {
53 __u32 major;
54 __u32 minor;
55};
56
57struct fuse_in_header {
58 __u32 len;
59 __u32 opcode;
60 __u64 unique;
61 __u64 nodeid;
62 __u32 uid;
63 __u32 gid;
64 __u32 pid;
65};
66
67struct fuse_out_header {
68 __u32 len;
69 __s32 error;
70 __u64 unique;
71};
72