mirror of
https://github.com/asterisk/asterisk.git
synced 2026-07-23 16:05:30 -07:00
f09fbd398e
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.0.4@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
89 lines
2.2 KiB
C
89 lines
2.2 KiB
C
#ifndef _ASTERISK_CONFIG_PVT_H
|
|
#define _ASTERISK_CONFIG_PVT_H
|
|
#if defined(__cplusplus) || defined(c_plusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define CONFIG_KEYWORD_STRLEN 128
|
|
#define CONFIG_KEYWORD_ARRAYLEN 512
|
|
#include <asterisk/config.h>
|
|
|
|
#define MAX_INCLUDE_LEVEL 10
|
|
|
|
struct ast_category {
|
|
char name[80];
|
|
struct ast_variable *root;
|
|
struct ast_category *next;
|
|
#ifdef PRESERVE_COMMENTS
|
|
struct ast_comment *precomments;
|
|
struct ast_comment *sameline;
|
|
#endif
|
|
};
|
|
|
|
struct ast_config {
|
|
/* Maybe this structure isn't necessary but we'll keep it
|
|
for now */
|
|
struct ast_category *root;
|
|
struct ast_category *prev;
|
|
#ifdef PRESERVE_COMMENTS
|
|
struct ast_comment *trailingcomments;
|
|
#endif
|
|
};
|
|
|
|
#ifdef PRESERVE_COMMENTS
|
|
struct ast_comment_struct
|
|
{
|
|
struct ast_comment *root;
|
|
struct ast_comment *prev;
|
|
};
|
|
#endif
|
|
|
|
struct ast_category;
|
|
|
|
struct ast_config_reg {
|
|
char name[CONFIG_KEYWORD_STRLEN];
|
|
struct ast_config *(*func)(char *, struct ast_config *,struct ast_category **,struct ast_variable **,int
|
|
#ifdef PRESERVE_COMMENTS
|
|
,struct ast_comment_struct *
|
|
#endif
|
|
);
|
|
char keywords[CONFIG_KEYWORD_STRLEN][CONFIG_KEYWORD_ARRAYLEN];
|
|
int keycount;
|
|
struct ast_config_reg *next;
|
|
};
|
|
|
|
|
|
|
|
int ast_config_register(struct ast_config_reg *new);
|
|
int ast_config_deregister(struct ast_config_reg *del);
|
|
void ast_cust_config_on(void);
|
|
void ast_cust_config_off(void);
|
|
int ast_cust_config_active(void);
|
|
struct ast_config_reg *get_config_registrations(void);
|
|
struct ast_config_reg *get_ast_cust_config(char *name);
|
|
struct ast_config_reg *get_ast_cust_config_keyword(char *name);
|
|
void ast_config_destroy_all(void);
|
|
|
|
|
|
int ast_category_delete(struct ast_config *cfg, char *category);
|
|
int ast_variable_delete(struct ast_config *cfg, char *category, char *variable, char *value);
|
|
int ast_save(char *filename, struct ast_config *cfg, char *generator);
|
|
|
|
struct ast_config *ast_new_config(void);
|
|
struct ast_category *ast_new_category(char *name);
|
|
struct ast_variable *ast_new_variable(char *name,char *value);
|
|
int ast_cust_config_register(struct ast_config_reg *new);
|
|
int ast_cust_config_deregister(struct ast_config_reg *new);
|
|
int register_config_cli(void);
|
|
int read_ast_cust_config(void);
|
|
|
|
|
|
|
|
|
|
#if defined(__cplusplus) || defined(c_plusplus)
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif
|