Hi all,

Another step towards the VFS is wildcard expansion. There are many different
ways to implement it and the operating systems in use have chosen different
approaches to it. Basically there are two approaches and several in between
these two:

1. The shell performs the wildcard expansion.

This approach is used in *nix and is usually available in usermode as the
glob function [1] in libc. (Conforming to several POSIX standards.)

2. The filesystem implementation performs the wildcard expansion

This is used primarily on OS/2 and Windows NT [2]. It allows for different
file systems to support different kinds of globbing. While this may not be
obvious at first,
this implementation does have at least one use: If mounting a network file
system from a machine, which has a different globbing syntax the syntax of
the target machine is used in its directories. This does however break apps,
which use the host globbing scheme instead of the servers globbing scheme.
Other uses are likely, just don't come to mind.

It applies to SharpOS primarily as a question, who is responsible to
implement the wildcard expansion which may be requested through
Directory.GetDirectories, Directory.GetFiles, Directory.GetFileSystemEntries
or DirectoryInfo.GetFiles, DirectoryInfo.GetDirectories,
DirectoryInfo.GetFileSystemInfos (does anyone else think that name is
wrong?). 

We can move this into a helper function used by all of those functions,
implement this as a helper function in the VFS or have the filesystems
themselves do the right thing. Your opinion?

My vote is to implement this stuff in [K|c]orlib. Home directory lookup
should imho not be done by the VFS in order to prevent tight coupling
between the VFS and any kind of user management. I'd like the VFS to remain
almost free of references. (The only other Kernel component I currently need
is some sort of TEB for the threads current directory.)

grover

[1] http://linux.die.net/man/3/glob
[2] http://uranus.it.swin.edu.au/~jn/linux/ext2ifs.htm


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
SharpOS-Developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sharpos-developers

Reply via email to