#!/usr/bin/perl

push @ISA, ".";

use Symbol;
use SMB;

sub get_stat {
	my $item = shift;

	my $stat = SMB::stat ($item);
	if ($stat) {
		print "scalar SMB::stat (".$item.") = yes\n";
	} else {
		print "scalar SMB::stat (".$item.") = no\n";
	}

	my $time;
	my $mode;
	my @stat = SMB::stat ($item);
	if ($#stat >= 0) {
		print "array  SMB::stat (".$item.") = \n";
		print "  dev    = ".(shift @stat)."\n";
		print "  ino    = ".(shift @stat)."\n";
		print "  mode   = ".($mode = shift @stat);
		printf (" = 0%o\n", $mode);
		print "  nlink  = ".(shift @stat)."\n";
		print "  uid    = ".(shift @stat)."\n";
		print "  gid    = ".(shift @stat)."\n";
		print "  redv   = ".(shift @stat)."\n";
		print "  size   = ".(shift @stat)."\n";
		print "  atime  = ".($time = shift @stat);
		print " = ".(localtime($time))."\n";
		print "  mtime  = ".($time = shift @stat);
		print " = ".(localtime($time))."\n";
		print "  ctime  = ".($time = shift @stat);
		print " = ".(localtime($time))."\n";
		print "  blksize = ".(shift @stat)."\n";
		print "  blockse = ".(shift @stat)."\n";
	} else  {
		print "array  SMB::stat (".$item.") = empty array\n";
	}
	print "\n";
}

sub main {

	SMB::logon ("port", "port");
	my $dn = "\\\\p48113\\pub";
	my $dh = gensym;

	SMB::diropen ($dh, $dn);	

	my $val;
	while ($val = SMB::readdir ($dh)) {
		print "SMB::readdir () = ".$val."\n";
		my $item = $dn."\\".$val;
		get_stat ($item);
	}

	SMB::dirclose ($dh);
}

main ();

