5 use POSIX qw(EINVAL ENOENT EROFS EOPNOTSUPP);
11 my $class=ref($proto) || $proto;
16 $self->{source}=shift;
17 $self->{mountpoint}=shift;
26 mountpoint => $self->{mountpoint},
27 getattr => "ID3FS::Fuse::getattr",
28 readlink => "ID3FS::Fuse::readlink",
29 getdir => "ID3FS::Fuse::getdir",
30 mknod => "ID3FS::Fuse::mknod",
31 mkdir => "ID3FS::Fuse::mkdir",
32 unlink => "ID3FS::Fuse::unlink",
33 rmdir => "ID3FS::Fuse::rmdir",
34 symlink => "ID3FS::Fuse::symlink",
35 rename => "ID3FS::Fuse::rename",
36 link => "ID3FS::Fuse::link",
37 chmod => "ID3FS::Fuse::chmod",
38 chown => "ID3FS::Fuse::chown",
39 truncate => "ID3FS::Fuse::truncate",
40 utime => "ID3FS::Fuse::utime",
41 open => "ID3FS::Fuse::open",
42 read => "ID3FS::Fuse::read",
43 write => "ID3FS::Fuse::write",
44 statfs => "ID3FS::Fuse::statfs",
45 release => "ID3FS::Fuse::release",
46 fsync => "ID3FS::Fuse::fsync",
47 setxattr => "ID3FS::Fuse::setxattr",
48 getxattr => "ID3FS::Fuse::getxattr",
49 listxattr => "ID3FS::Fuse::listxattr",
50 removexattr => "ID3FS::Fuse::removexattr",
57 sub getattr { return -ENOENT(); }
58 sub readlink { return "FIXME"; }
59 sub getdir { return(0); }
60 sub mknod { return -EINVAL(); }
61 sub mkdir { return -EROFS(); }
62 sub unlink { return -EINVAL(); }
63 sub rmdir { return -EROFS(); }
64 sub symlink { return -EROFS(); }
65 sub rename { return -EROFS(); }
66 sub link { return -EROFS(); }
67 sub chmod { return -EINVAL(); }
68 sub chown { return -EINVAL(); }
69 sub truncate { return -EROFS(); }
70 sub utime { return -EINVAL(); }
71 sub open { return -EINVAL(); }
72 sub read { return -EINVAL(); }
73 sub write { return -EINVAL(); }
74 sub statfs { return -EINVAL(); }
75 sub release { return 0; }
76 sub fsync { return 0; }
77 sub setxattr { return -EOPNOTSUPP(); }
78 sub getxattr { return -EOPNOTSUPP(); }
79 sub listxattr { return -EOPNOTSUPP(); }
80 sub removexattr { return -EOPNOTSUPP(); }