#!/usr/bin/perl use lib qw(/usr/lib/libDrakX); use network::smb; use network::nfs; "@ARGV" =~ /-h/ and die "usage: lsnetdrake [-h] [--nfs] [--smb]\n"; my $nfs = !@ARGV || "@ARGV" =~ /-(nfs)/; my $smb = !@ARGV || "@ARGV" =~ /-(smb)/; $| = 1; $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}"; if ($nfs) { my @servers = network::nfs::find_servers(); foreach my $server (sort_names(@servers)) { my $server_name = $server->{name} || $server->{ip}; foreach (sort_names(network::nfs::find_exports($server))) { print "$server_name:$_->{name}", $_->{comment} && " ($_->{comment})", "\n"; } } } if ($smb) { my @servers = network::smb::find_servers(); foreach my $server (sort_names(@servers)) { my $server_name = $server->{name} || $server->{ip}; foreach (sort_names(network::smb::find_exports($server))) { print "//$server_name/$_->{name}", $_->{comment} && " ($_->{comment})", "\n"; } } } sub sort_names { sort { $a->{name} cmp $b->{name} } @_; }