On Tuesday 02 October 2001 07:57 pm, Aleksei Guzev wrote:
> Mswin. I think there is no need to build another Posix layer on Windows,
> because it has one built-in. POSIX applications seems running without
> cywin or mingw ;)

Windows (that is, 9x _and_ NT) doesn't have a POSIX layer. NT does (or did, 
anyway), but it's only there to satisfy government purchasing agents (i.e., 
no one uses it). And you can't necessarily mix NT's POSIX layer with Win32.

> I didn't think of my module would work on either cygwin or mingw, but
> there should be no problem... Maybe except some macros wich are defined
> in mswin only :(

We should be able to use MinGW or VC++ with each other, if we get the compile 
and linker switches right. Assuming the right calling convention and linker 
naming scheme (which has to work, as noted, for MinGW to work with extant 
Win32 libraries), this should be easy.

And we can implement Posixy things as needed. And as possible. But there's no 
reason to try to make the whole Unix-ish file or process APIs work on systems 
that don't support them.

For instance, someone mentioned File.link . Although you can get NT to link 
files using more-or-less undocumented methods (using the backup API, for 
instance) or the Posix layer, but only in NTFS, we can't generally assume 
that this will be possible, as it depends on file system capabilites that 
won't necessarily exist. (for instance, you can't do it on FAT systems). 
Likewise symlinks (no, Win9x .lnk files or Mac aliases don't count).

Similarly, open("| proc") and system() with redirection don't have to exist 
on all systems. It might be nice if they did, but since your pipeline or 
external command won't be the same necessarily, it probably doesn't matter 
too much.

-- 
Ned Konz
currently: Stanwood, WA
email:     ned / bike-nomad.com
homepage:  http://bike-nomad.com