1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
#
# (c) Jan Gehring <jan.gehring@gmail.com>
#
package Rex::Helper::File::Stat::Win32;
use v5.12.5;
use warnings;
our $VERSION = '1.14.1'; # VERSION
use Fcntl;
use Rex::Interface::Exec;
sub S_ISDIR {
shift;
Fcntl::S_ISDIR(@_);
}
sub S_ISREG {
shift;
Fcntl::S_ISREG(@_);
}
sub S_ISLNK {
shift;
if ( Rex::is_ssh() ) {
my $exec = Rex::Interface::Exec->create;
$exec->exec("perl -le 'use Fcntl; exit Fcntl::S_ISLNK($_[0])'");
return $?;
}
else {
Rex::Logger::info( "S_ISLNK not supported on your platform.", "warn" );
return 0;
}
}
sub S_ISBLK {
shift;
Fcntl::S_ISBLK(@_);
}
sub S_ISCHR {
shift;
Fcntl::S_ISCHR(@_);
}
sub S_ISFIFO {
shift;
Fcntl::S_ISFIFO(@_);
}
sub S_ISSOCK {
shift;
if ( Rex::is_ssh() ) {
my $exec = Rex::Interface::Exec->create;
$exec->exec("perl -le 'use Fcntl; exit Fcntl::S_ISSOCK($_[0])'");
return $?;
}
else {
Rex::Logger::info( "S_ISSOCK not supported on your platform.", "warn" );
return 0;
}
}
sub S_IMODE {
shift;
Fcntl::S_IMODE(@_);
}
1;
|