cfg_parser_t
cfg_parser_t *pctx = NULL;
cfg_parser_destroy(cfg_parser_t **pctxp);
cfg_obj_destroy(cfg_parser_t *pctx, cfg_obj_t **obj);
cfg_parser_create(isc_log_t *lctx, cfg_parser_t **ret);
cfg_parse_file(cfg_parser_t *pctx, const char *filename,
cfg_parse_named_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
typedef isc_result_t (*cfg_parsefunc_t)(cfg_parser_t *, const cfg_type_t *type,
typedef void (*cfg_freefunc_t)(cfg_parser_t *, cfg_obj_t *);
cfg_parser_error(cfg_parser_t *pctx, unsigned int flags, const char *fmt, ...) {
cfg_create_list(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **objp);
have_current_file(cfg_parser_t *pctx) {
current_file(cfg_parser_t *pctx) {
cfg_parse_listelt(cfg_parser_t *pctx, const cfg_type_t *elttype,
parser_complain(cfg_parser_t *pctx, int is_warning,
cfg_parse_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
cfg_parse_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
cfg_create_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
cfg_parser_error(cfg_parser_t *pctx, unsigned int flags,
cfg_parser_t *pctx = (cfg_parser_t *)userarg;
create_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
free_map(cfg_parser_t *pctx, cfg_obj_t *obj) {
free_list(cfg_parser_t *pctx, cfg_obj_t *obj);
cfg_obj_destroy(cfg_parser_t *pctx, cfg_obj_t **objp) {
create_listelt(cfg_parser_t *pctx, cfg_listelt_t **eltp);
create_string(cfg_parser_t *pctx, const char *contents, const cfg_type_t *type,
free_string(cfg_parser_t *pctx, cfg_obj_t *obj);
create_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **objp);
free_map(cfg_parser_t *pctx, cfg_obj_t *obj);
parse_symtab_elt(cfg_parser_t *pctx, const char *name,
cfg_getstringtoken(cfg_parser_t *pctx);
parser_complain(cfg_parser_t *pctx, int is_warning,
cfg_parse_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
cfg_parse_special(cfg_parser_t *pctx, int special) {
parse_semicolon(cfg_parser_t *pctx) {
parse_eof(cfg_parser_t *pctx) {
cfg_parser_create(isc_log_t *lctx, cfg_parser_t **ret) {
cfg_parser_t *pctx;
parser_openfile(cfg_parser_t *pctx, const char *filename) {
parse2(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
cfg_parse_file(cfg_parser_t *pctx, const char *filename,
cfg_parser_destroy(cfg_parser_t **pctxp) {
cfg_parser_t *pctx;
create_string(cfg_parser_t *pctx, const char *contents, const cfg_type_t *type,
cfg_parse_qstring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
cfg_parse_astring(cfg_parser_t *pctx, const cfg_type_t *type,
cfg_parse_sstring(cfg_parser_t *pctx, const cfg_type_t *type,
free_string(cfg_parser_t *pctx, cfg_obj_t *obj) {
cfg_create_list(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **obj) {
create_listelt(cfg_parser_t *pctx, cfg_listelt_t **eltp) {
free_list_elt(cfg_parser_t *pctx, cfg_listelt_t *elt) {
free_list(cfg_parser_t *pctx, cfg_obj_t *obj) {
cfg_parse_listelt(cfg_parser_t *pctx, const cfg_type_t *elttype,
cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
parse_symtab_elt(cfg_parser_t *pctx, const char *name,
cfg_parse_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
cfg_gettoken(cfg_parser_t *pctx, int options);
parse_any_named_map(cfg_parser_t *pctx, cfg_type_t *nametype,
cfg_parse_named_map(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
cfg_peektoken(cfg_parser_t *pctx, int options);
cfg_ungettoken(cfg_parser_t *pctx);
parse_token(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
cfg_create_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **objp);
parse_unsupported(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
cfg_parse_qstring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
cfg_gettoken(cfg_parser_t *pctx, int options) {
cfg_parse_astring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
cfg_parse_sstring(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
cfg_ungettoken(cfg_parser_t *pctx) {
cfg_parse_special(cfg_parser_t *pctx, int special);
cfg_peektoken(cfg_parser_t *pctx, int options) {
cfg_getstringtoken(cfg_parser_t *pctx) {