[SETUPLIB][USETUP] Move some code to the SetupLib.

- filesup.c's functions ConcatPaths(), Does[Path|File]Exist(), NtPathToDiskPartComponents(), OpenAndMapFile(), UnMapFile();
- Move the inicache library to setuplib as it'll be used for the 1st stage GUI setup too (indeed, there is no good INI file API
  under Win32; the Win32 profile "API" is just good enough to manipulate the win16 ini files, and are here anyways for backward
  compatibility purposes only);
- Move the OS detector too.
- Remove the duplicated ConcatPaths() code in arcname.c.

svn path=/branches/setup_improvements/; revision=74634
svn path=/branches/setup_improvements/; revision=74638
This commit is contained in:
Hermès Bélusca-Maïto 2017-05-23 11:39:12 +00:00
parent c7eb46d9fd
commit 92b99b865e
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0
14 changed files with 520 additions and 569 deletions

57
base/setup/lib/filesup.h Normal file
View file

@ -0,0 +1,57 @@
/*
* PROJECT: ReactOS Setup Library
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: File support functions.
* COPYRIGHT: Copyright 2017-2018 Hermes Belusca-Maito
*/
#pragma once
#if 0
BOOLEAN
IsValidPath(
IN PCWSTR InstallDir);
#endif
NTSTATUS
ConcatPaths(
IN OUT PWSTR PathElem1,
IN SIZE_T cchPathSize,
IN PCWSTR PathElem2 OPTIONAL);
BOOLEAN
DoesPathExist(
IN HANDLE RootDirectory OPTIONAL,
IN PCWSTR PathName);
BOOLEAN
DoesFileExist(
IN HANDLE RootDirectory OPTIONAL,
IN PCWSTR PathName OPTIONAL,
IN PCWSTR FileName);
BOOLEAN
NtPathToDiskPartComponents(
IN PCWSTR NtPath,
OUT PULONG pDiskNumber,
OUT PULONG pPartNumber,
OUT PCWSTR* PathComponent OPTIONAL);
NTSTATUS
OpenAndMapFile(
IN HANDLE RootDirectory OPTIONAL,
IN PCWSTR PathName OPTIONAL,
IN PCWSTR FileName, // OPTIONAL
OUT PHANDLE FileHandle, // IN OUT PHANDLE OPTIONAL
OUT PHANDLE SectionHandle,
OUT PVOID* BaseAddress,
OUT PULONG FileSize OPTIONAL);
BOOLEAN
UnMapFile(
IN HANDLE SectionHandle,
IN PVOID BaseAddress);
/* EOF */