extern crate fuse; extern crate libc; extern crate v1; use v1::data::get_data1; use v1::data::SimpleFsData; use fuse::{Filesystem, Request, ReplyEntry, ReplyAttr, ReplyDirectory, ReplyData}; use libc::ENOENT; use std::ffi::OsStr; struct MemFs { data: SimpleFsData, } impl Filesystem for MemFs { fn lookup(&mut self, _req: &Request, _parent: u64, _name: &OsStr, reply: ReplyEntry) { reply.error(ENOENT); } fn getattr(&mut self, _req: &Request, _ino: u64, reply: ReplyAttr) { reply.error(ENOENT); } fn read(&mut self, _req: &Request, _ino: u64, _fh: u64, _offset: u64, _size: u32, reply: ReplyData) { reply.error(ENOENT); } fn readdir (&mut self, _req: &Request, ino: u64, _fh: u64, offset: u64, reply: ReplyDirectory) { reply.error(ENOENT); } } fn usage() { println!("{} ", std::env::args().nth(0).unwrap()); } fn mount(mountpoint: &OsStr) { let fs = MemFs { data: get_data1() }; fuse::mount(fs, &mountpoint, &[]).unwrap() } fn main() { println!("{:?}", get_data1()); match std::env::args_os().nth(1) { Some(mountpoint) => mount(&mountpoint), None => usage(), } }