From: Miklos Szeredi Date: Tue, 20 Nov 2001 19:25:06 +0000 (+0000) Subject: t X-Git-Tag: fuse_0_95~18 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=729531e8274b17dbe83f0ba6d534008483dd071f;p=qemu-gpiodev%2Flibfuse.git t --- diff --git a/python/xmp.py b/python/xmp.py new file mode 100755 index 0000000..271e269 --- /dev/null +++ b/python/xmp.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python +# +# Copyright (C) 2001 Jeff Epler +# +# This program can be distributed under the terms of the GNU GPL. +# See the file COPYING. +# + +from fuse import Fuse +import os +from errno import * +from stat import * + +class Xmp(Fuse): + flags = 1 + + def getattr(self, path): + return os.lstat(path) + + def readlink(self, path): + return os.readlink(path) + + def getdir(self, path): + return map(lambda x: (x,0), os.listdir(path)) + + def unlink(self, path): + return os.unlink(path) + + def rmdir(self, path): + return os.rmdir(path) + + def symlink(self, path, path1): + return os.symlink(path, path1) + + def rename(self, path, path1): + return os.rename(path, path1) + + def link(self, path, path1): + return os.link(path, path1) + + def chmod(self, path, mode): + return os.chmod(path, mode) + + def chown(self, path, user, group): + return os.chown(path, user, group) + + def truncate(self, path, size): + f = open(path, "w+") + return f.truncate(size) + + def mknod(self, path, mode, dev): + """ Python has no os.mknod, so we can only do some things """ + if S_ISREG(mode): + open(path, "w") + else: + return -EINVAL + + def mkdir(self, path, mode): + return os.mkdir(path, mode) + + def utime(self, path, times): + return os.utime(path, times) + + def open(self, path, flags): + os.close(os.open(path, flags)) + return 0 + + def read(self, path, len, offset): + f = open(path, "r") + f.seek(offset) + return f.read(len) + + def write(self, path, buf, off): + f = open(path, "r+") + f.seek(off) + f.write(buf) + return len(buf) + +if __name__ == '__main__': + server = Xmp() + server.flags = 0 + server.multithreaded = 1; + server.main()