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 INFHOST_H_INCLUDED
10 #define INFHOST_H_INCLUDED
14 #endif /* __cplusplus */
16 #include <infcommon.h>
18 extern int InfHostOpenBufferedFile(PHINF InfHandle
,
20 unsigned long BufferSize
,
21 unsigned long *ErrorLine
);
22 extern int InfHostOpenFile(PHINF InfHandle
,
24 unsigned long *ErrorLine
);
25 extern int InfHostWriteFile(HINF InfHandle
,
27 const char *HeaderComment
);
28 extern void InfHostCloseFile(HINF InfHandle
);
29 extern int InfHostFindFirstLine(HINF InfHandle
,
32 PINFCONTEXT
*Context
);
33 extern int InfHostFindNextLine(PINFCONTEXT ContextIn
,
34 PINFCONTEXT ContextOut
);
35 extern int InfHostFindFirstMatchLine(PINFCONTEXT ContextIn
,
37 PINFCONTEXT ContextOut
);
38 extern int InfHostFindNextMatchLine(PINFCONTEXT ContextIn
,
40 PINFCONTEXT ContextOut
);
41 extern long InfHostGetLineCount(HINF InfHandle
,
43 extern long InfHostGetFieldCount(PINFCONTEXT Context
);
44 extern int InfHostGetBinaryField(PINFCONTEXT Context
,
45 unsigned long FieldIndex
,
46 unsigned char *ReturnBuffer
,
47 unsigned long ReturnBufferSize
,
48 unsigned long *RequiredSize
);
49 extern int InfHostGetIntField(PINFCONTEXT Context
,
50 unsigned long FieldIndex
,
51 unsigned long *IntegerValue
);
52 extern int InfHostGetMultiSzField(PINFCONTEXT Context
,
53 unsigned long FieldIndex
,
55 unsigned long ReturnBufferSize
,
56 unsigned long *RequiredSize
);
57 extern int InfHostGetStringField(PINFCONTEXT Context
,
58 unsigned long FieldIndex
,
60 unsigned long ReturnBufferSize
,
61 unsigned long *RequiredSize
);
62 extern int InfHostGetData(PINFCONTEXT Context
,
65 extern int InfHostGetDataField(PINFCONTEXT Context
,
66 unsigned long FieldIndex
,
68 extern int InfHostFindOrAddSection(HINF InfHandle
,
70 PINFCONTEXT
*Context
);
71 extern int InfHostAddLine(PINFCONTEXT Context
, const char *Key
);
72 extern int InfHostAddField(PINFCONTEXT Context
, const char *Data
);
73 extern void InfHostFreeContext(PINFCONTEXT Context
);
77 #endif /* __cplusplus */
79 #endif /* INFROS_H_INCLUDED */