[USETUP] Improve the FileSup module.
[reactos.git] / base / setup / usetup / filesup.h
1 /*
2 * ReactOS kernel
3 * Copyright (C) 2002 ReactOS Team
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 /*
20 * COPYRIGHT: See COPYING in the top level directory
21 * PROJECT: ReactOS text-mode setup
22 * FILE: base/setup/usetup/filesup.h
23 * PURPOSE: File support functions
24 * PROGRAMMER: Eric Kohl
25 */
26
27 #pragma once
28
29 NTSTATUS
30 SetupCreateDirectory(
31 PWCHAR DirectoryName);
32
33 NTSTATUS
34 SetupCopyFile(
35 PWCHAR SourceFileName,
36 PWCHAR DestinationFileName);
37
38 NTSTATUS
39 SetupExtractFile(
40 PWCHAR CabinetFileName,
41 PWCHAR SourceFileName,
42 PWCHAR DestinationFileName);
43
44
45 BOOLEAN
46 IsValidPath(
47 IN PCWSTR InstallDir);
48
49 NTSTATUS
50 ConcatPaths(
51 IN OUT PWSTR PathElem1,
52 IN SIZE_T cchPathSize,
53 IN PCWSTR PathElem2 OPTIONAL);
54
55 BOOLEAN
56 DoesPathExist(
57 IN HANDLE RootDirectory OPTIONAL,
58 IN PCWSTR PathName);
59
60 BOOLEAN
61 DoesFileExist(
62 IN HANDLE RootDirectory OPTIONAL,
63 IN PCWSTR PathName OPTIONAL,
64 IN PCWSTR FileName);
65
66 BOOLEAN
67 NtPathToDiskPartComponents(
68 IN PCWSTR NtPath,
69 OUT PULONG pDiskNumber,
70 OUT PULONG pPartNumber,
71 OUT PCWSTR* PathComponent OPTIONAL);
72
73 NTSTATUS
74 OpenAndMapFile(
75 IN HANDLE RootDirectory OPTIONAL,
76 IN PCWSTR PathName OPTIONAL,
77 IN PCWSTR FileName, // OPTIONAL
78 OUT PHANDLE FileHandle, // IN OUT PHANDLE OPTIONAL
79 OUT PHANDLE SectionHandle,
80 OUT PVOID* BaseAddress,
81 OUT PULONG FileSize OPTIONAL);
82
83 BOOLEAN
84 UnMapFile(
85 IN HANDLE SectionHandle,
86 IN PVOID BaseAddress);
87
88 /* EOF */