Version 0.1.8 from FTP
[asterisk/asterisk.git] / include / asterisk / config.h
1 /*
2  * Asterisk -- A telephony toolkit for Linux.
3  *
4  * Configuration File Parser
5  * 
6  * Copyright (C) 1999, Mark Spencer
7  *
8  * Mark Spencer <markster@linux-support.net>
9  *
10  * This program is free software, distributed under the terms of
11  * the GNU General Public License
12  */
13
14 #ifndef _ASTERISK_CONFIG_H
15 #define _ASTERISK_CONFIG_H
16
17 #if defined(__cplusplus) || defined(c_plusplus)
18 extern "C" {
19 #endif
20
21 struct ast_config;
22
23 struct ast_variable {
24         char *name;
25         char *value;
26         int lineno;
27         struct ast_variable *next;
28 };
29
30 /* Create a config structure from a given configuration file */
31 struct ast_config *ast_load(char *configfile);
32 /* Free memory associated with a given config */
33 void ast_destroy(struct ast_config *config);
34 /* List categories of config file */
35 char *ast_category_browse(struct ast_config *config, char *prev);
36 /* List variables of config file */
37 struct ast_variable *ast_variable_browse(struct ast_config *config, char *category);
38 /* Retrieve a specific variable */
39 char *ast_variable_retrieve(struct ast_config *config, char *category, char *value);
40 /* Determine affermativeness of a boolean value */
41 int ast_true(char *val);
42 /* Browse config structure and check for category duplicity Return non-zero if found */
43 int ast_category_exist(struct ast_config *config, char *category_name);
44
45 #if defined(__cplusplus) || defined(c_plusplus)
46 }
47 #endif
48
49
50
51 #endif