"Erich E. Hoover" erich.e.hoover@gmail.com writes:
On Thu, Sep 30, 2021 at 2:31 AM Alexandre Julliard julliard@winehq.org wrote:
Once you have this working for a range of different tags, with tests to confirm compatibility, we can think about what subset of reparse points would make sense as pure Unix symlinks, and add a special case for these.
Okay, what exactly are you looking for here? That you get the same thing back that you put in? Just like Unix symlinks, you can store any sort of arbitrary text/unicode/garbage in a reparse point for any tag (if you are so inclined). The OS may not know what to do with that tag unless you write a filter for it, but you can store anything that you want.
Yes, basically you need a simple storage mechanism to store/retrieve arbitrary data, and then some hook in the existing path lookup code that can use that data to modify the searched path in all sorts of interesting ways.
Note that all the interesting stuff must happen at path lookup time, not at reparse point creation time. If you insist on making these resolvable at the Unix level, you have to do all sorts of path mangling at creation time, which is going to break very quickly.