diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2005-09-09 16:10:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 17:03:44 -0400 |
commit | 334f485df85ac7736ebe14940bf0a059c5f26d7d (patch) | |
tree | 754e5528289048a7104f4c1b431cebc1df16e2ce /include | |
parent | d8a5ba45457e4a22aa39c939121efd7bb6c76672 (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.h | 36 |
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 | |||
22 | struct fuse_attr { | 28 | struct 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 | ||
45 | enum fuse_opcode { | ||
46 | FUSE_INIT = 26 | ||
47 | }; | ||
48 | |||
49 | /* Conservative buffer size for the client */ | ||
50 | #define FUSE_MAX_IN 8192 | ||
51 | |||
52 | struct fuse_init_in_out { | ||
53 | __u32 major; | ||
54 | __u32 minor; | ||
55 | }; | ||
56 | |||
57 | struct 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 | |||
67 | struct fuse_out_header { | ||
68 | __u32 len; | ||
69 | __s32 error; | ||
70 | __u64 unique; | ||
71 | }; | ||
72 | |||