UNC path syntax

Jim Balter jqb@netcom.com
Wed Apr 2 00:37:00 GMT 1997


Ed Huott wrote:
> 
> In message <34035660.1323@elementalsoftware.com>, Tom Yonkman writes:
> >     Just started using the gnu-win32 package and wonder if ls and friends
> >     can handle the UNC path syntax in some way? This would allow access to
> >     machines in my "Network Neighborhood", as the explorer so quaintly
> >     puts it.
> >
> 
> No.  Nothing built with cygwin32 can deal with UNC path names.  The
> cygwin32 approach requires that you map a drive to any remote (network
> neighborhood) volumes.  Inside the bash shell, a mapped network drive
> such as N: can then be referenced using the path "//N".  This syntax
> can, unfortunately, collide with the most logical choice for
> referencing a network share, which would be something like:
> "//ComputerName/SharedDrive".
> 
> There is a unix-like volume mounting scheme that lets you acces a
> drive as a sub-directory (i.e. N: ==> /DriveN) something like the old
> DOS "join" command, but this works *only* for apps built with
> cygwin32.
> 
> Lack of UNC support can be a real drawback if you're dealing in an
> environment that uses a mix of both native (Windows) and cygwin32
> apps.

You can refer to UNC paths with, e.g., "\\xxx\y", but not
"//xxx/y", which gets turned into "c:\xxx\y".  You can use names like
"\\.\a:", but not "\\.\tape0", which gets turned into "c:\tape0".
And you cannot use UNCs in mounts; they get a \ appended that win32
can't handle.  I've attached a patch that fixes the latter two.
Among other things, this will allow you to read a local tape drive
on WinNT via tar, dd, etc. by using /dev/st0 if you fix the bogus mount
table entries (the proper name is "\\.\tape0", not "\\.\tape0:"):

umount /dev/st0
mount '\\.\tape0' /dev/st0
umount /dev/st1
mount '\\.\tape1' /dev/st1

Due to other bugs, this still does not allow you to write to local tape
via cygwin, however.

--
<J Q B>


More information about the Cygwin mailing list