/* * PROJECT: .inf file parser * LICENSE: GPL - See COPYING in the top level directory * PROGRAMMER: Royce Mitchell III * Eric Kohl * Ge van Geldorp */ #pragma once #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #include "infcommon.h" extern int InfHostOpenBufferedFile(PHINF InfHandle, void *Buffer, ULONG BufferSize, LANGID LanguageId, ULONG *ErrorLine); extern int InfHostOpenFile(PHINF InfHandle, const CHAR *FileName, LANGID LanguageId, ULONG *ErrorLine); extern int InfHostWriteFile(HINF InfHandle, const CHAR *FileName, const CHAR *HeaderComment); extern void InfHostCloseFile(HINF InfHandle); extern int InfHostFindFirstLine(HINF InfHandle, const WCHAR *Section, const WCHAR *Key, PINFCONTEXT *Context); extern int InfHostFindNextLine(PINFCONTEXT ContextIn, PINFCONTEXT ContextOut); extern int InfHostFindFirstMatchLine(PINFCONTEXT ContextIn, const WCHAR *Key, PINFCONTEXT ContextOut); extern int InfHostFindNextMatchLine(PINFCONTEXT ContextIn, const WCHAR *Key, PINFCONTEXT ContextOut); extern LONG InfHostGetLineCount(HINF InfHandle, const WCHAR *Section); extern LONG InfHostGetFieldCount(PINFCONTEXT Context); extern int InfHostGetBinaryField(PINFCONTEXT Context, ULONG FieldIndex, UCHAR *ReturnBuffer, ULONG ReturnBufferSize, ULONG *RequiredSize); extern int InfHostGetIntField(PINFCONTEXT Context, ULONG FieldIndex, INT *IntegerValue); extern int InfHostGetMultiSzField(PINFCONTEXT Context, ULONG FieldIndex, WCHAR *ReturnBuffer, ULONG ReturnBufferSize, ULONG *RequiredSize); extern int InfHostGetStringField(PINFCONTEXT Context, ULONG FieldIndex, WCHAR *ReturnBuffer, ULONG ReturnBufferSize, ULONG *RequiredSize); extern int InfHostGetData(PINFCONTEXT Context, WCHAR **Key, WCHAR **Data); extern int InfHostGetDataField(PINFCONTEXT Context, ULONG FieldIndex, WCHAR **Data); extern int InfHostFindOrAddSection(HINF InfHandle, const WCHAR *Section, PINFCONTEXT *Context); extern int InfHostAddLine(PINFCONTEXT Context, const WCHAR *Key); extern int InfHostAddField(PINFCONTEXT Context, const WCHAR *Data); extern void InfHostFreeContext(PINFCONTEXT Context); #ifdef __cplusplus } #endif /* __cplusplus */ /* EOF */