2 * PROJECT: .inf file parser
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PROGRAMMER: Royce Mitchell III
6 * Ge van Geldorp <gvg@reactos.org>
9 #ifndef INFROS_H_INCLUDED
10 #define INFROS_H_INCLUDED
14 #endif /* __cplusplus */
16 #include <infcommon.h>
18 extern VOID
InfSetHeap(PVOID Heap
);
19 extern NTSTATUS
InfOpenBufferedFile(PHINF InfHandle
,
23 extern NTSTATUS
InfOpenFile(PHINF InfHandle
,
24 PUNICODE_STRING FileName
,
26 extern NTSTATUS
InfWriteFile(HINF InfHandle
,
27 PUNICODE_STRING FileName
,
28 PUNICODE_STRING HeaderComment
);
29 extern VOID
InfCloseFile(HINF InfHandle
);
30 extern BOOLEAN
InfFindFirstLine(HINF InfHandle
,
33 PINFCONTEXT
*Context
);
34 extern BOOLEAN
InfFindNextLine(PINFCONTEXT ContextIn
,
35 PINFCONTEXT ContextOut
);
36 extern BOOLEAN
InfFindFirstMatchLine(PINFCONTEXT ContextIn
,
38 PINFCONTEXT ContextOut
);
39 extern BOOLEAN
InfFindNextMatchLine(PINFCONTEXT ContextIn
,
41 PINFCONTEXT ContextOut
);
42 extern LONG
InfGetLineCount(HINF InfHandle
,
44 extern LONG
InfGetFieldCount(PINFCONTEXT Context
);
45 extern BOOLEAN
InfGetBinaryField(PINFCONTEXT Context
,
48 ULONG ReturnBufferSize
,
50 extern BOOLEAN
InfGetIntField(PINFCONTEXT Context
,
53 extern BOOLEAN
InfGetMultiSzField(PINFCONTEXT Context
,
56 ULONG ReturnBufferSize
,
58 extern BOOLEAN
InfGetStringField(PINFCONTEXT Context
,
61 ULONG ReturnBufferSize
,
63 extern BOOLEAN
InfGetData(PINFCONTEXT Context
,
66 extern BOOLEAN
InfGetDataField(PINFCONTEXT Context
,
69 extern BOOLEAN
InfFindOrAddSection(HINF InfHandle
,
71 PINFCONTEXT
*Context
);
72 extern BOOLEAN
InfAddLine(PINFCONTEXT Context
, PCWSTR Key
);
73 extern BOOLEAN
InfAddField(PINFCONTEXT Context
, PCWSTR Data
);
74 extern VOID
InfFreeContext(PINFCONTEXT Context
);
78 #endif /* __cplusplus */
80 #endif /* INFROS_H_INCLUDED */