2 FUSE: Filesystem in Userspace
3 Copyright (C) 2001-2007 Miklos Szeredi <miklos@szeredi.hu>
5 This program can be distributed under the terms of the GNU LGPLv2.
6 See the file COPYING.LIB
11 #include "fuse_misc.h"
20 struct fuse_session
*fuse_session_new(void)
22 struct fuse_session
*se
= (struct fuse_session
*) malloc(sizeof(*se
));
24 fprintf(stderr
, "fuse: failed to allocate session\n");
27 memset(se
, 0, sizeof(*se
));
32 void fuse_session_add_chan(struct fuse_session
*se
, struct fuse_chan
*ch
)
34 assert(se
->ch
== NULL
);
35 assert(ch
->se
== NULL
);
40 void fuse_session_remove_chan(struct fuse_chan
*ch
)
42 struct fuse_session
*se
= ch
->se
;
50 struct fuse_chan
*fuse_session_chan(struct fuse_session
*se
)
55 int fuse_chan_clearfd(struct fuse_chan
*ch
)
62 void fuse_session_exit(struct fuse_session
*se
)
67 void fuse_session_reset(struct fuse_session
*se
)
72 int fuse_session_exited(struct fuse_session
*se
)
77 struct fuse_chan
*fuse_chan_new(int fd
)
79 struct fuse_chan
*ch
= (struct fuse_chan
*) malloc(sizeof(*ch
));
81 fprintf(stderr
, "fuse: failed to allocate channel\n");
85 memset(ch
, 0, sizeof(*ch
));
91 int fuse_chan_fd(struct fuse_chan
*ch
)
96 struct fuse_session
*fuse_chan_session(struct fuse_chan
*ch
)
101 void fuse_chan_destroy(struct fuse_chan
*ch
)
103 fuse_session_remove_chan(ch
);