aboutsummaryrefslogtreecommitdiffstats
path: root/lib/fuse_i.h
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-01-04 12:45:54 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2005-01-04 12:45:54 +0000
commit0f62d7265ebab7807978ae8a206213d968bea9e4 (patch)
tree5039e673540eb681b78849f665beb5efed2bcc54 /lib/fuse_i.h
parent0fcfa039c1dfb7cf9d9da132972334e33f320dd1 (diff)
downloadlibfuse-0f62d7265ebab7807978ae8a206213d968bea9e4.tar.gz
interrupted request improvements
Diffstat (limited to 'lib/fuse_i.h')
-rw-r--r--lib/fuse_i.h83
1 files changed, 2 insertions, 81 deletions
diff --git a/lib/fuse_i.h b/lib/fuse_i.h
index f3c3076..ebe712a 100644
--- a/lib/fuse_i.h
+++ b/lib/fuse_i.h
@@ -7,83 +7,14 @@
*/
#include "fuse.h"
-#include "fuse_compat.h"
-#include <stdio.h>
#include <pthread.h>
-/* FUSE flags: */
-
-/** Enable debuging output */
-#define FUSE_DEBUG (1 << 1)
-
-/** If a file is removed but it's still open, don't hide the file but
- remove it immediately */
-#define FUSE_HARD_REMOVE (1 << 2)
-
-/** Use st_ino field in getattr instead of generating inode numbers */
-#define FUSE_USE_INO (1 << 3)
-
-
typedef unsigned long nodeid_t;
-struct node {
- struct node *name_next;
- struct node *id_next;
- nodeid_t nodeid;
- unsigned int generation;
- nodeid_t parent;
- char *name;
- int mode;
- int rdev;
- unsigned long ino;
- int version;
- int open_count;
- int is_hidden;
-};
-
-struct fuse_operations_i {
- int (*getattr) (const char *, struct stat *);
- int (*readlink) (const char *, char *, size_t);
- int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t);
- int (*mknod) (const char *, mode_t, dev_t);
- int (*mkdir) (const char *, mode_t);
- int (*unlink) (const char *);
- int (*rmdir) (const char *);
- int (*symlink) (const char *, const char *);
- int (*rename) (const char *, const char *);
- int (*link) (const char *, const char *);
- int (*chmod) (const char *, mode_t);
- int (*chown) (const char *, uid_t, gid_t);
- int (*truncate) (const char *, off_t);
- int (*utime) (const char *, struct utimbuf *);
- union {
- int (*curr) (const char *, struct fuse_file_info *);
- int (*compat2) (const char *, int);
- } open;
- int (*read) (const char *, char *, size_t, off_t,
- struct fuse_file_info *);
- int (*write) (const char *, const char *, size_t, off_t,
- struct fuse_file_info *);
- union {
- int (*curr) (const char *, struct statfs *);
- int (*compat1) (struct fuse_statfs_compat1 *);
- } statfs;
- int (*flush) (const char *, struct fuse_file_info *);
- union {
- int (*curr) (const char *, struct fuse_file_info *);
- int (*compat2) (const char *, int);
- } release;
- int (*fsync) (const char *, int, struct fuse_file_info *);
- int (*setxattr) (const char *, const char *, const char *, size_t, int);
- int (*getxattr) (const char *, const char *, char *, size_t);
- int (*listxattr) (const char *, char *, size_t);
- int (*removexattr) (const char *, const char *);
-};
-
struct fuse {
int flags;
int fd;
- struct fuse_operations_i op;
+ struct fuse_operations op;
int compat;
struct node **name_table;
size_t name_table_size;
@@ -93,6 +24,7 @@ struct fuse {
unsigned int generation;
unsigned int hidectr;
pthread_mutex_t lock;
+ pthread_mutex_t worker_lock;
int numworker;
int numavail;
volatile int exited;
@@ -100,17 +32,6 @@ struct fuse {
int minorver;
};
-struct fuse_dirhandle {
- struct fuse *fuse;
- nodeid_t dir;
- FILE *fp;
-};
-
-struct fuse_cmd {
- char *buf;
- size_t buflen;
-};
-
struct fuse *fuse_new_common(int fd, const char *opts,
const struct fuse_operations *op,
size_t op_size, int compat);