Create the AHCI branch for Aman's work
[reactos.git] / base / applications / msconfig_new / fileutils.h
1 /*
2 * PROJECT: ReactOS Applications
3 * LICENSE: LGPL - See COPYING in the top level directory
4 * FILE: base/applications/msconfig_new/fileutils.h
5 * PURPOSE: File Utility Functions
6 * COPYRIGHT: Copyright 2011-2012 Hermes BELUSCA - MAITO <hermes.belusca@sfr.fr>
7 */
8
9 #ifndef __FILEUTILS_H__
10 #define __FILEUTILS_H__
11
12 #pragma once
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 //
19 // NOTE: A function called "FileExists" with the very same prototype
20 // already exists in the PSDK headers (in setupapi.h)
21 //
22 BOOL
23 MyFileExists(IN LPCWSTR lpszFilePath,
24 OUT PWIN32_FIND_DATAW pFindData OPTIONAL);
25
26 ////////////////////////////////////////////////////////////////////////////////
27 typedef LRESULT
28 (*PQUERY_FILES_TABLE_ROUTINE)(IN LPCWSTR Path,
29 IN LPCWSTR FileNamesQuery,
30 IN LPCWSTR ExpandedFileNamesQuery,
31 IN PWIN32_FIND_DATAW pfind_data,
32 IN PVOID Context,
33 IN PVOID EntryContext);
34
35 #define QUERY_FILES_TABLE_ROUTINE(fnName) \
36 LRESULT (fnName)(IN LPCWSTR Path, \
37 IN LPCWSTR FileNamesQuery, \
38 IN LPCWSTR ExpandedFileNamesQuery, \
39 IN PWIN32_FIND_DATAW pfind_data, \
40 IN PVOID Context, \
41 IN PVOID EntryContext)
42
43 typedef struct __tagQUERY_FILES_TABLE
44 {
45 PQUERY_FILES_TABLE_ROUTINE QueryRoutine;
46 PVOID EntryContext;
47 // Other fields ?
48 } QUERY_FILES_TABLE, *PQUERY_FILES_TABLE;
49
50 LRESULT
51 FileQueryFiles(IN LPCWSTR Path,
52 IN LPCWSTR FileNamesQuery,
53 IN PQUERY_FILES_TABLE QueryTable,
54 IN PVOID Context);
55
56 ////////////////////////////////////////////////////////////////////////////////
57
58 BOOL BackupIniFile(IN LPCWSTR lpszIniFile);
59
60 #ifdef __cplusplus
61 } // extern "C"
62 #endif
63
64 #endif // __FILEUTILS_H__