2 * Copyright (c) 2006 Eduard Bloch
4 * Config parsing code, with interface similar to basic libdeflt interface
5 * from J. Schilling but with different semantics
7 * get_value uses a static buffer (warning, non-reentrant)
8 * cfg_open and cfg_close maintain a static FILE pointer (warning, non-reentrant)
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License version 2
14 * as published by the Free Software Foundation.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License along with
22 * this program; see the file COPYING. If not, write to the Free Software
23 * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33 /* FIXME: use inline trough an INLINE macro wrapper */
34 extern int cfg_open (const char *name);
35 extern int cfg_close (void);
37 /* reset the position in FILE */
38 extern void cfg_restart (void);
39 /* returns the next value found after the current position */
40 extern char *cfg_get_next (const char *name);
41 /* equivalent to cfg_restart(); cfg_get_next(...) */
42 extern char *cfg_get(const char *key);
43 /* function wrapped by those above */
44 extern char *get_value(FILE *srcfile, const char *key, int dorewind);