aboutsummaryrefslogtreecommitdiffstats
path: root/libconfig.h
diff options
context:
space:
mode:
authorJonathan McCrohan <jmccrohan@gmail.com>2011-12-01 22:56:23 +0000
committerJonathan McCrohan <jmccrohan@gmail.com>2011-12-01 22:56:23 +0000
commit429e46051dba814e7d6c74368eb1bba550222cbe (patch)
treeed1dd43cd23c69f156aae2165006a16a66262cef /libconfig.h
parent58bf1382be0cbcf3f9649286fd2719b789a1595f (diff)
downloadlibconfig-429e46051dba814e7d6c74368eb1bba550222cbe.tar.gz
Imported Upstream version 1.4.8upstream/1.4.8
Diffstat (limited to 'libconfig.h')
-rw-r--r--libconfig.h266
1 files changed, 0 insertions, 266 deletions
diff --git a/libconfig.h b/libconfig.h
deleted file mode 100644
index cf6c67a..0000000
--- a/libconfig.h
+++ /dev/null
@@ -1,266 +0,0 @@
-/* ----------------------------------------------------------------------------
- libconfig - A library for processing structured configuration files
- Copyright (C) 2005-2009 Mark A Lindner
-
- This file is part of libconfig.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- as published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with this library; if not, see
- <http://www.gnu.org/licenses/>.
- ----------------------------------------------------------------------------
-*/
-
-#ifndef __libconfig_h
-#define __libconfig_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
-#if defined(LIBCONFIG_STATIC)
-#define LIBCONFIG_API
-#elif defined(LIBCONFIG_EXPORTS)
-#define LIBCONFIG_API __declspec(dllexport)
-#else /* ! LIBCONFIG_EXPORTS */
-#define LIBCONFIG_API __declspec(dllimport)
-#endif /* LIBCONFIG_STATIC */
-#else /* ! WIN32 */
-#define LIBCONFIG_API
-#endif /* WIN32 */
-
-#include <stdio.h>
-
-#define CONFIG_TYPE_NONE 0
-#define CONFIG_TYPE_GROUP 1
-#define CONFIG_TYPE_INT 2
-#define CONFIG_TYPE_INT64 3
-#define CONFIG_TYPE_FLOAT 4
-#define CONFIG_TYPE_STRING 5
-#define CONFIG_TYPE_BOOL 6
-#define CONFIG_TYPE_ARRAY 7
-#define CONFIG_TYPE_LIST 8
-
-#define CONFIG_FORMAT_DEFAULT 0
-#define CONFIG_FORMAT_HEX 1
-
-#define CONFIG_OPTION_AUTOCONVERT 0x01
-
-#define CONFIG_TRUE (1)
-#define CONFIG_FALSE (0)
-
-typedef union config_value_t
-{
- long ival;
- long long llval;
- double fval;
- char *sval;
- struct config_list_t *list;
-} config_value_t;
-
-typedef struct config_setting_t
-{
- char *name;
- short type;
- short format;
- config_value_t value;
- struct config_setting_t *parent;
- struct config_t *config;
- void *hook;
- unsigned int line;
-} config_setting_t;
-
-typedef struct config_list_t
-{
- unsigned int length;
- unsigned int capacity;
- config_setting_t **elements;
-} config_list_t;
-
-typedef struct config_t
-{
- config_setting_t *root;
- void (*destructor)(void *);
- int flags;
- const char *error_text;
- int error_line;
-} config_t;
-
-extern LIBCONFIG_API int config_read(config_t *config, FILE *stream);
-extern LIBCONFIG_API void config_write(const config_t *config, FILE *stream);
-
-extern LIBCONFIG_API void config_set_auto_convert(config_t *config, int flag);
-extern LIBCONFIG_API int config_get_auto_convert(const config_t *config);
-
-extern LIBCONFIG_API int config_read_file(config_t *config,
- const char *filename);
-extern LIBCONFIG_API int config_write_file(config_t *config,
- const char *filename);
-
-extern LIBCONFIG_API void config_set_destructor(config_t *config,
- void (*destructor)(void *));
-
-extern LIBCONFIG_API void config_init(config_t *config);
-extern LIBCONFIG_API void config_destroy(config_t *config);
-
-extern LIBCONFIG_API long config_setting_get_int(
- const config_setting_t *setting);
-extern LIBCONFIG_API long long config_setting_get_int64(
- const config_setting_t *setting);
-extern LIBCONFIG_API double config_setting_get_float(
- const config_setting_t *setting);
-extern LIBCONFIG_API int config_setting_get_bool(
- const config_setting_t *setting);
-extern LIBCONFIG_API const char *config_setting_get_string(
- const config_setting_t *setting);
-
-extern LIBCONFIG_API int config_setting_lookup_int(
- const config_setting_t *setting, const char *name, long *value);
-extern LIBCONFIG_API int config_setting_lookup_int64(
- const config_setting_t *setting, const char *name, long long *value);
-extern LIBCONFIG_API int config_setting_lookup_float(
- const config_setting_t *setting, const char *name, double *value);
-extern LIBCONFIG_API int config_setting_lookup_bool(
- const config_setting_t *setting, const char *name, int *value);
-extern LIBCONFIG_API int config_setting_lookup_string(
- const config_setting_t *setting, const char *name, const char **value);
-
-extern LIBCONFIG_API int config_setting_set_int(config_setting_t *setting,
- long value);
-extern LIBCONFIG_API int config_setting_set_int64(config_setting_t *setting,
- long long value);
-extern LIBCONFIG_API int config_setting_set_float(config_setting_t *setting,
- double value);
-extern LIBCONFIG_API int config_setting_set_bool(config_setting_t *setting,
- int value);
-extern LIBCONFIG_API int config_setting_set_string(config_setting_t *setting,
- const char *value);
-
-extern LIBCONFIG_API int config_setting_set_format(config_setting_t *setting,
- short format);
-extern LIBCONFIG_API short config_setting_get_format(config_setting_t *setting);
-
-extern LIBCONFIG_API long config_setting_get_int_elem(
- const config_setting_t *setting, int idx);
-extern LIBCONFIG_API long long config_setting_get_int64_elem(
- const config_setting_t *setting, int idx);
-extern LIBCONFIG_API double config_setting_get_float_elem(
- const config_setting_t *setting, int idx);
-extern LIBCONFIG_API int config_setting_get_bool_elem(
- const config_setting_t *setting, int idx);
-extern LIBCONFIG_API const char *config_setting_get_string_elem(
- const config_setting_t *setting, int idx);
-
-extern LIBCONFIG_API config_setting_t *config_setting_set_int_elem(
- config_setting_t *setting, int idx, long value);
-extern LIBCONFIG_API config_setting_t *config_setting_set_int64_elem(
- config_setting_t *setting, int idx, long long value);
-extern LIBCONFIG_API config_setting_t *config_setting_set_float_elem(
- config_setting_t *setting, int idx, double value);
-extern LIBCONFIG_API config_setting_t *config_setting_set_bool_elem(
- config_setting_t *setting, int idx, int value);
-extern LIBCONFIG_API config_setting_t *config_setting_set_string_elem(
- config_setting_t *setting, int idx, const char *value);
-
-#define /* int */ config_setting_type(/* const config_setting_t * */ S) \
- ((S)->type)
-
-#define /* int */ config_setting_is_group(/* const config_setting_t * */ S) \
- ((S)->type == CONFIG_TYPE_GROUP)
-#define /* int */ config_setting_is_array(/* const config_setting_t * */ S) \
- ((S)->type == CONFIG_TYPE_ARRAY)
-#define /* int */ config_setting_is_list(/* const config_setting_t * */ S) \
- ((S)->type == CONFIG_TYPE_LIST)
-
-#define /* int */ config_setting_is_aggregate( \
- /* const config_setting_t * */ S) \
- (((S)->type == CONFIG_TYPE_GROUP) || ((S)->type == CONFIG_TYPE_LIST) \
- || ((S)->type == CONFIG_TYPE_ARRAY))
-
-#define /* int */ config_setting_is_number(/* const config_setting_t * */ S) \
- (((S)->type == CONFIG_TYPE_INT) \
- || ((S)->type == CONFIG_TYPE_INT64) \
- || ((S)->type == CONFIG_TYPE_FLOAT))
-
-#define /* int */ config_setting_is_scalar(/* const config_setting_t * */ S) \
- (((S)->type == CONFIG_TYPE_BOOL) || ((S)->type == CONFIG_TYPE_STRING) \
- || config_setting_is_number(S))
-
-#define /* const char * */ config_setting_name( \
- /* const config_setting_t * */ S) \
- ((S)->name)
-
-#define /* config_setting_t * */ config_setting_parent( \
- /* const config_setting_t * */ S) \
- ((S)->parent)
-
-#define /* int */ config_setting_is_root( \
- /* const config_setting_t * */ S) \
- ((S)->parent ? CONFIG_FALSE : CONFIG_TRUE)
-
-extern LIBCONFIG_API int config_setting_index(const config_setting_t *setting);
-
-extern LIBCONFIG_API int config_setting_length(
- const config_setting_t *setting);
-extern LIBCONFIG_API config_setting_t *config_setting_get_elem(
- const config_setting_t *setting, unsigned int idx);
-
-extern LIBCONFIG_API config_setting_t *config_setting_get_member(
- const config_setting_t *setting, const char *name);
-
-extern LIBCONFIG_API config_setting_t *config_setting_add(
- config_setting_t *parent, const char *name, int type);
-extern LIBCONFIG_API int config_setting_remove(config_setting_t *parent,
- const char *name);
-extern LIBCONFIG_API int config_setting_remove_elem(config_setting_t *parent,
- unsigned int idx);
-extern LIBCONFIG_API void config_setting_set_hook(config_setting_t *setting,
- void *hook);
-
-#define config_setting_get_hook(S) ((S)->hook)
-
-extern LIBCONFIG_API config_setting_t *config_lookup(const config_t *config,
- const char *path);
-
-extern LIBCONFIG_API int config_lookup_int(const config_t *config,
- const char *path, long *value);
-extern LIBCONFIG_API int config_lookup_int64(const config_t *config,
- const char *path,
- long long *value);
-extern LIBCONFIG_API int config_lookup_float(const config_t *config,
- const char *path, double *value);
-extern LIBCONFIG_API int config_lookup_bool(const config_t *config,
- const char *path, int *value);
-extern LIBCONFIG_API int config_lookup_string(const config_t *config,
- const char *path,
- const char **value);
-
-#define /* config_setting_t * */ config_root_setting( \
- /* const config_t * */ C) \
- ((C)->root)
-
-#define /* unsigned short */ config_setting_source_line( \
- /* const config_t */ C) \
- ((C)->line)
-
-#define /* const char * */ config_error_text(/* const config_t * */ C) \
- ((C)->error_text)
-
-#define /* int */ config_error_line(/* const config_t * */ C) \
- ((C)->error_line)
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __libconfig_h */