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 */ 81