This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: FW: pubdestroyer2001.exe via anonymous FTP?


On Fri, Sep 28, 2001 at 08:13:49AM -0400, Earnie Boyd wrote:
> Corinna Vinschen wrote:
> > 
> > On Fri, Sep 28, 2001 at 01:45:44AM -0400, Christopher Faylor wrote:
> > > On Fri, Sep 28, 2001 at 02:48:33PM +1000, Robert Collins wrote:
> > > >This suggests to me that (as a faaaaar off when-time-happens) we might
> > > >be able to handle some of the tricky things like source dirs called
> > > >"aux" by redirecting the posix name aux to \\.\.....\aux.
> > > >
> > > >Anyway, not planning to do this now, or expecting anyone else to, just
> > > >mailing so the concept is in the archives.
> > >
> > > Yeah, it's been mentioned before.  I don't believe that syntax works on
> > > Windows 9x, though, does it?
> > 
> > That syntax is only supported by NT.  \\.\ is the mapping of the
> > NT internal \??\ namespace into the Win32 namespace.
> > 
> 
> And doesn't make much sense since the usual case in UNIX land is to
> create a directory or file named aux; not access to some special device
> name.

No, that's incorrect.  What Robert is suggesting to use the
\\.\ syntax for giving pathnames, e.g.:

	\\.\C:\cygwin\bin\aux

which translates into the NT internal path

	\??\C:\cygwin\bin\aux

"C:" in \??\ is just a symbolic link to the real volume, in NT4 e.g. 

	\Device\Harddisk0\Partition1

and in W2K/XP e.g.

	\Device\HarddiskVolume1

So the above \\.\C:\cygwin\bin\aux translates into the NT internal
path (e.g. for W2K/XP):

	\Device\HarddiskVolume1\cygwin\bin\aux

Since that's the NT internal style to handle paths, it allows
to use any desired path name.  The translation into a Win32
device name doesn't occur.  Note that the Win32 "AUX" is just
another symlink in the NT internal namespace: 

	AUX = \??\AUX     -->  \DosDevices\COM1

\DosDevices is also a symlink:

	\DosDevices       -->   \??

So that translates:

	\DosDevices\COM1  -->  \??\COM1

which again is just a symlink:

	\??\COM1          -->  \Device\Serial0

which finally is a real device.

Hope not to be boring...
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin@cygwin.com
Red Hat, Inc.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]