blob: a1aebd7104c4260a76a6a7385a53247a6dd759a0 [file] [log] [blame]
Miklos Szeredid8a5ba42005-09-09 13:10:26 -07001/*
2 FUSE: Filesystem in Userspace
3 Copyright (C) 2001-2005 Miklos Szeredi <miklos@szeredi.hu>
4
5 This program can be distributed under the terms of the GNU GPL.
6 See the file COPYING.
7*/
8
9/* This file defines the kernel interface of FUSE */
10
11#include <asm/types.h>
12
13/** Version number of this interface */
Miklos Szeredi334f4852005-09-09 13:10:27 -070014#define FUSE_KERNEL_VERSION 6
Miklos Szeredid8a5ba42005-09-09 13:10:26 -070015
16/** Minor version number of this interface */
17#define FUSE_KERNEL_MINOR_VERSION 1
18
19/** The node ID of the root inode */
20#define FUSE_ROOT_ID 1
21
Miklos Szeredi334f4852005-09-09 13:10:27 -070022/** 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
Miklos Szeredid8a5ba42005-09-09 13:10:26 -070028struct fuse_attr {
29 __u64 ino;
30 __u64 size;
31 __u64 blocks;
32 __u64 atime;
33 __u64 mtime;
34 __u64 ctime;
35 __u32 atimensec;
36 __u32 mtimensec;
37 __u32 ctimensec;
38 __u32 mode;
39 __u32 nlink;
40 __u32 uid;
41 __u32 gid;
42 __u32 rdev;
43};
44
Miklos Szeredi334f4852005-09-09 13:10:27 -070045enum 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