ntdll.dll: mark dirlink as REPARSE_POINT (v2)

Detlef Riekenberg wine.dev at web.de
Tue May 31 15:00:51 CDT 2005

Am Dienstag, den 31.05.2005, 00:35 -0400 schrieb Dimi Paun:
> On Tue, 2005-05-31 at 06:21 +0200, Detlef Riekenberg wrote:
> > -        if (S_ISDIR( st.st_mode ) && !show_dir_symlinks) return NULL;
> > +        if (S_ISDIR( st.st_mode ))
> > +       {
> > +           if (!show_dir_symlinks) return NULL;
> > +           name_is_link = FILE_ATTRIBUTE_REPARSE_POINT;
> > +       }
> >      }
> Hmm, thinking more about it, if windows has support for dir symlinks
> (I'm sure they made sure there are no problems with that), should we

Some Informations about a REPARSE_POINT:

1. A REPARSE_POINT is a Symlink or a Mountpoint
2. A REPARSE_POINT in win2000 is used for the "Remote Storrage Service"
   ans as a Volume Mountpoint (kill the Driveletter-Limit).
3. The Windows-Explorer does not copy the REPARSE_POINT but 
   the complete data, represented by the REPARSE_POINT.
4. The only tool in win2000, which is able convert a normal Directory
   into a REPARSE_POINT (mountpoint) is the Disk-Management Utility.
  a: According to "b", there is the "linkd"-app in the w2k-Reskit for
     creating junctions.
  b: With "Junction.exe" you can view REPARSE_POINTs and create/delete
     dir-symlinks ("http://www.sysinternals.com/files/jnctnsrc.zip")
     (Freeware with source)
  c: You can create Hardlinks for Files on an NTFS-Volume with ln.exe
     from "www.losoft.de/download/ls-tools.zip" (Freeware with source)
  d: Another Link-Tool for NTFS: "http://ashedel.chat.ru/source/"
  e: A clone of ntifs.h with struct FILE_LINK_INFORMATION,
     struct _REPARSE_DATA_BUFFER and also "*CreateSymbolicLink*"
     "http://www.acc.umu.se/~bosse/ntifs.h" (GPL)
     (Also in the mingw-cvs)

> even bother having this show_dir_symlinks option? Maybe we should just
> nuke it, and just have:

I think, we should not do that, before the Rest of a "REPARSE_POINT" is
implemented in wine (Create/Info).

> On a different note, are the brackets above indented properly?

In v2, I used MC. The Tabsize is 8 instead of 4. 

By By ...
      ... Detlef

More information about the wine-devel mailing list