#ifndef FUSE_H #define FUSE_H #include #include "netfsComms.h" #include "fuseapp.h" class NetFS : public FuseAppBase { public: NetFS(int & argc, char ** argv); ~NetFS(); private: void * init (struct fuse_conn_info * info); int opt_parse(void *, const char * arg, int key, struct fuse_args *); // misc int access(const char * p, int a); int getattr(const char * p, struct stat * s); int fgetattr(const char *, struct stat *, struct fuse_file_info *); int chmod(const char *, mode_t); int chown(const char *, uid_t, gid_t); int link(const char *, const char *); int readlink(const char *, char *, size_t); int rename(const char *, const char *); int symlink(const char *, const char *); int unlink(const char *); // dirs int opendir(const char * p, struct fuse_file_info * fi); int releasedir(const char *, struct fuse_file_info * fi); int readdir(const char *, void * buf, fuse_fill_dir_t filler, off_t, struct fuse_file_info * fi); int mkdir(const char *, mode_t); int rmdir(const char *); // files int open(const char * p, struct fuse_file_info * fi); int create(const char *, mode_t, struct fuse_file_info *); int release(const char *, struct fuse_file_info * fi); int read(const char *, char * buf, size_t s, off_t o, struct fuse_file_info * fi); int write(const char *, const char * buf, size_t s, off_t o, struct fuse_file_info * fi); int truncate(const char *, off_t); int ftruncate(const char *, off_t, struct fuse_file_info *); // fs int statfs(const char *, struct statvfs *); // stuff Ice::CommunicatorPtr ic; NetFSComms::FilesPrx files; NetFSComms::DirsPrx dirs; NetFSComms::MiscPrx misc; NetFSComms::SystemPrx system; NetFSComms::ServicePrx service; Ice::Long authtok; std::string mountPoint; std::string exportName; }; #endif