7 * oconfig - src/oconfig.h
8 * Copyright (C) 2006-2009 Florian octo Forster <octo at verplant.org>
10 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License as published by the
12 * Free Software Foundation; only version 2 of the License is applicable.
14 * This program is distributed in the hope that it will be useful, but WITHOUT
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
19 * You should have received a copy of the GNU General Public License along with
20 * this program; if not, write to the Free Software Foundation, Inc.,
21 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
27 #define OCONFIG_TYPE_STRING 0
28 #define OCONFIG_TYPE_NUMBER 1
29 #define OCONFIG_TYPE_BOOLEAN 2
31 struct oconfig_value_s
41 typedef struct oconfig_value_s oconfig_value_t;
43 struct oconfig_item_s;
44 typedef struct oconfig_item_s oconfig_item_t;
48 oconfig_value_t *values;
51 oconfig_item_t *parent;
52 oconfig_item_t *children;
59 oconfig_item_t *oconfig_parse_fh (FILE *fh);
60 oconfig_item_t *oconfig_parse_file (const char *file);
62 oconfig_item_t *oconfig_clone (const oconfig_item_t *ci);
64 void oconfig_free (oconfig_item_t *ci);
67 * vim: shiftwidth=2:tabstop=8:softtabstop=2
69 #endif /* OCONFIG_H */