[Mono-dev] Mono.Unix - UnixDirectoryInfo.IsSymbolyicLinkquestion

Jonathan Pryor jonpryor at vt.edu
Mon Oct 3 20:37:28 EDT 2005


On Tue, 2005-10-04 at 09:37 +1000, Paddy Joy wrote:
> Thanks for the background info and help, it all makes a lot more sense now. 
> I'm using UnixSymbolicLinkInfo now and getting the correct results.
> 
> So am I correct in saying that if you have a UnixDirectoryInfo object the 
> IsSymbolicLink property will never be set to true because it will always 
> reference the sym link target

This is correct, *unless* the filesystem encounters
UnixEnvironment.GetConfigurationValue (SysConf._SC_SYMLOOP_MAX) symbolic
links when searching for the target, in which case an error will occur
(Errno.ELOOP, which is mapped to a UnixIOException).

> Also since we are on the subject of UnixDirectoryInfo :-) Is the 
> GetFileSystemEntries() method a implementation of the 
> DirectoryInfo.GetDirectories() for the linux filesystem or is it something 
> completly different?

UnixDirectoryInfo.GetFileSystemEntries() is a wrapper over
Syscall.opendir()/Syscall.readdir_r()/Syscall.closedir().  So it could
be considered to be an implementation of
System.IO.DirectoryInfo.GetFileSystemInfos() using the native POSIX
APIs.  It's not Linux-specific, just POSIX-specific.

You might find the source interesting; it's available at:

	http://mono.myrealbox.com/source/trunk/mcs/class/Mono.Posix/Mono.Unix

 - Jon





More information about the Mono-devel-list mailing list