Fuse-Class
view release on metacpan or search on metacpan
lib/Fuse/Class.pm view on Meta::CPAN
if ($_Module->can($fnname)) {
$fnmap{$fnname} = __PACKAGE__ . '::_' . $fnname;
}
}
Fuse::main(@args, %fnmap);
}
BEGIN {
@callback = qw (getattr readlink getdir mknod mkdir unlink
rmdir symlink rename link chmod chown truncate
utime open read write statfs flush release fsync
setxattr getxattr listxattr removexattr);
if (Fuse->can('fuse_version')) {
my $fuse_version = Fuse::fuse_version();
if ($fuse_version >= 2.3) {
push(@callback, qw(opendir readdir releasedir fsyncdir init destroy));
}
if ($fuse_version >= 2.5) {
push(@callback, qw(access create ftruncate fgetattr));
}
lib/Fuse/Class.pm view on Meta::CPAN
=head2 link(EXISTING_PATH_NAME, HADLINK_NAME)
Return an errno (0 if success).
This method is called to create a hard link.
=head2 chmod(PATH_NAME, MODE).
Return an errno (0 if success).
This method is called to change permissions on a entity.
=head2 chown(PATH_NAME, UID, GID).
Return an errno (0 if success).
This method is called to change ownership of a entity.
=head2 truncate(PATH_NAME, OFFSET).
Return an errno (0 if success).
This method is called to truncate a file at the given offset.
=head2 utime(PATH_NAME, ACCESS_TIME, MODIFIED_TIME).
t/80fuse28.t view on Meta::CPAN
$test->enable_test_time(1);
# $test->enable_test_atime(1);
# $test->enable_test_mtime(1);
# $test->enable_test_ctime(1);
$test->enable_test_permissions(0);
$test->enable_test_special(0);
# $test->enable_test_fifo(0);
$test->enable_test_symlink(1);
# $test->enable_test_hardlink(0);
# $test->enable_test_nlink(0);
# $test->enable_test_chown(0);
$test->runtests;
# unlink
{
my $fname = "$mount_point/unlink-test";
unlink $fname;
open(my $fh, "> $fname");
close($fh);
test/fuse28.pm view on Meta::CPAN
sub chmod {
my $self = shift;
my ($path, $modes) = @_;
my $entity = $self->pickup($path);
return -2 unless ($entity);
$entity->chmod($modes);
}
sub chown {
my $self = shift;
my ($path, $uid, $gid) = @_;
my $entity = $self->pickup($path);
return -2 unless ($entity);
$entity->chown($uid, $gid);
}
sub ftruncate {
my $self = shift;
my ($path, $offset, $fh) = @_;
my $entity = $self->{handle}->{$fh};
return (-2) unless ($entity);
return (-1) unless ($entity->can('truncate'));
test/fuse28.pm view on Meta::CPAN
my $self = shift;
my ($atime, $mtime) = @_;
my $attr = $self->{attr};
$attr->[8] = $atime if ($atime >= 0);
$attr->[9] = $mtime if ($mtime >= 0);
return 0;
}
sub chown {
my $self = shift;
my ($uid, $gid) = @_;
$self->{attr}->[4] = $uid if ($uid >= 0);
$self->{attr}->[5] = $gid if ($gid >= 0);
return 0;
}
#
( run in 0.689 second using v1.01-cache-2.11-cpan-71847e10f99 )