[NTOS:CM] CmpCmdHiveOpen(): Resolve FileAttributes->RootDirectory when a hive file...
[reactos.git] / sdk / lib / inflib / infhost.h
1 /*
2 * PROJECT: .inf file parser
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PROGRAMMER: Royce Mitchell III
5 * Eric Kohl
6 * Ge van Geldorp <gvg@reactos.org>
7 */
8
9 #pragma once
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif /* __cplusplus */
14
15 #include "infcommon.h"
16
17 extern int InfHostOpenBufferedFile(PHINF InfHandle,
18 void *Buffer,
19 ULONG BufferSize,
20 LANGID LanguageId,
21 ULONG *ErrorLine);
22 extern int InfHostOpenFile(PHINF InfHandle,
23 const CHAR *FileName,
24 LANGID LanguageId,
25 ULONG *ErrorLine);
26 extern int InfHostWriteFile(HINF InfHandle,
27 const CHAR *FileName,
28 const CHAR *HeaderComment);
29 extern void InfHostCloseFile(HINF InfHandle);
30 extern int InfHostFindFirstLine(HINF InfHandle,
31 const WCHAR *Section,
32 const WCHAR *Key,
33 PINFCONTEXT *Context);
34 extern int InfHostFindNextLine(PINFCONTEXT ContextIn,
35 PINFCONTEXT ContextOut);
36 extern int InfHostFindFirstMatchLine(PINFCONTEXT ContextIn,
37 const WCHAR *Key,
38 PINFCONTEXT ContextOut);
39 extern int InfHostFindNextMatchLine(PINFCONTEXT ContextIn,
40 const WCHAR *Key,
41 PINFCONTEXT ContextOut);
42 extern LONG InfHostGetLineCount(HINF InfHandle,
43 const WCHAR *Section);
44 extern LONG InfHostGetFieldCount(PINFCONTEXT Context);
45 extern int InfHostGetBinaryField(PINFCONTEXT Context,
46 ULONG FieldIndex,
47 UCHAR *ReturnBuffer,
48 ULONG ReturnBufferSize,
49 ULONG *RequiredSize);
50 extern int InfHostGetIntField(PINFCONTEXT Context,
51 ULONG FieldIndex,
52 INT *IntegerValue);
53 extern int InfHostGetMultiSzField(PINFCONTEXT Context,
54 ULONG FieldIndex,
55 WCHAR *ReturnBuffer,
56 ULONG ReturnBufferSize,
57 ULONG *RequiredSize);
58 extern int InfHostGetStringField(PINFCONTEXT Context,
59 ULONG FieldIndex,
60 WCHAR *ReturnBuffer,
61 ULONG ReturnBufferSize,
62 ULONG *RequiredSize);
63 extern int InfHostGetData(PINFCONTEXT Context,
64 WCHAR **Key,
65 WCHAR **Data);
66 extern int InfHostGetDataField(PINFCONTEXT Context,
67 ULONG FieldIndex,
68 WCHAR **Data);
69 extern int InfHostFindOrAddSection(HINF InfHandle,
70 const WCHAR *Section,
71 PINFCONTEXT *Context);
72 extern int InfHostAddLine(PINFCONTEXT Context, const WCHAR *Key);
73 extern int InfHostAddField(PINFCONTEXT Context, const WCHAR *Data);
74 extern void InfHostFreeContext(PINFCONTEXT Context);
75
76 #ifdef __cplusplus
77 }
78 #endif /* __cplusplus */
79
80 /* EOF */