Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / base / setup / usetup / inffile.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/inffile.h
23 * PURPOSE: .inf files support functions
24 * PROGRAMMER: Hervé Poussineau
25 */
26
27 #pragma once
28
29 #ifndef __REACTOS__
30
31 #include <setupapi.h>
32
33 #else /* __REACTOS__ */
34
35 #include <infcommon.h>
36
37 #define SetupFindFirstLineW InfpFindFirstLineW
38 #define SetupGetFieldCount InfGetFieldCount
39 #define SetupGetIntField InfGetIntField
40 #define SetupOpenInfFileW InfpOpenInfFileW
41
42 #define INF_STYLE_WIN4 0x00000002
43
44 /* FIXME: this structure is the one used in inflib, not in setupapi
45 * Delete it once we don't use inflib anymore */
46 typedef struct _INFCONTEXT
47 {
48 HINF Inf;
49 HINF CurrentInf;
50 UINT Section;
51 UINT Line;
52 } INFCONTEXT;
53 C_ASSERT(sizeof(INFCONTEXT) == 2 * sizeof(PVOID) + 2 * sizeof(UINT));
54
55 BOOL
56 WINAPI
57 InfpFindFirstLineW(
58 IN HINF InfHandle,
59 IN PCWSTR Section,
60 IN PCWSTR Key,
61 IN OUT PINFCONTEXT Context);
62
63 HINF
64 WINAPI
65 InfpOpenInfFileW(
66 IN PCWSTR FileName,
67 IN PCWSTR InfClass,
68 IN DWORD InfStyle,
69 IN LCID LocaleId,
70 OUT PUINT ErrorLine);
71
72 #endif /* __REACTOS__ */
73
74 BOOLEAN
75 INF_GetData(
76 IN PINFCONTEXT Context,
77 OUT PWCHAR *Key,
78 OUT PWCHAR *Data);
79
80 BOOLEAN
81 INF_GetDataField(
82 IN PINFCONTEXT Context,
83 IN ULONG FieldIndex,
84 OUT PWCHAR *Data);
85
86 HINF WINAPI
87 INF_OpenBufferedFileA(
88 IN PSTR FileBuffer,
89 IN ULONG FileSize,
90 IN PCSTR InfClass,
91 IN DWORD InfStyle,
92 IN LCID LocaleId,
93 OUT PUINT ErrorLine);
94
95 /* EOF */