[SETUPLIB] Add an ARC path to (and from) NT path resolver.
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Mon, 22 May 2017 01:09:35 +0000 (01:09 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Thu, 31 May 2018 16:00:59 +0000 (18:00 +0200)
commitaa44ab1fbceecc0ab9c69512ca5f04eba0a6bfcd
tree05a0186b39f2f2bedb2f71e63dd1b5364db64ee2
parentb1741a07cfa267bda77f32e5b019908b76187f94
[SETUPLIB] Add an ARC path to (and from) NT path resolver.

The NT path resolver allows mapping between an ARC path as specified in freeldr.ini / boot.ini , to its corresponding NT path, if possible.
Currently, only the mapping direction "ARC to NT" is implemented. It will be used wherever such mappings are needed, for example when identifying
the ReactOS / Windows installations from the available freeldr.ini / boot.ini entries (for upgrading / repair purposes).

The resolver supports the usual ARC paths: multi()disk()[r|f]disk()[partition()] ; eisa()disk()[r|f]disk()[partition()] ; multi()disk()cdrom() ;
scsi()disk()[r|f]disk()[partition()] ; scsi()cdrom()fdisk() ; ramdisk(x) ; net(x) (actually reported as "unsupported" since it would map to some
path on some network), and the newly-introduced Win2k signature()disk()rdisk()[partition()].

The code is in work-in-progress status.
Some validation tests, that were used during the implementation of the resolver, have been added.

svn path=/branches/setup_improvements/; revision=74621
svn path=/branches/setup_improvements/; revision=74631
base/setup/lib/CMakeLists.txt
base/setup/lib/arcname.c [new file with mode: 0644]
base/setup/lib/arcname.h [new file with mode: 0644]
base/setup/lib/arcname_tests.c [new file with mode: 0644]
base/setup/lib/setuplib.h