http://prdownloads.sourceforge.net/lufs/lufs-0.9.7.tar.gz?download
[lufs.git] / filesystems / gvfs / gvfs.h
1 /*
2  * gvfs.h
3  * Copyright (C) 2002 Florin Malita <mali@go.ro>
4  *
5  * This file is part of LUFS, a free userspace filesystem implementation.
6  * See http://lufs.sourceforge.net/ for updates.
7  *
8  * LUFS is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * LUFS is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21  */
22
23 #ifndef _GVFS_H_
24 #define _GVFS_H_
25
26 using namespace std;
27
28 struct directory;
29 struct dir_cache;
30
31 class GVFS{
32   private:
33     struct credentials *cred;
34     struct dir_cache *cache;
35     struct list_head *cfg;
36
37   public:
38     GVFS(struct list_head*, struct dir_cache*, struct credentials*);
39     ~GVFS();
40
41     int do_mount();
42     int do_readdir(char*, struct directory*);
43     int do_stat(char*, struct lufs_fattr*);
44     int do_mkdir(char*, int);
45     int do_rmdir(char*);
46     int do_create(char*, int);
47     int do_unlink(char*);
48     int do_rename(char*, char*);
49     int do_open(char*, unsigned);
50     int do_release(char*);
51     int do_read(char*, long long, unsigned long, char*);
52     int do_write(char*, long long, unsigned long, char*);
53     int do_readlink(char*, char*, int);
54     int do_link(char*, char*);
55     int do_symlink(char*, char*);
56     int do_setattr(char*, struct lufs_fattr*);
57 };
58
59 #endif