e71a9e2e752ddbff1d04570bd6d14964ac4f890bTimo Sirainen /* root=NULL-terminated list of parsers */
4ee00532a265bdfb38539d811fcd12d51210ac35Timo Sirainen ARRAY(struct config_filter_parser *) all_parsers;
87404eae4581d7ef834f490507503e59a500066eTimo Sirainen HASH_TABLE(const char *, const char *) seen_settings;
0171540a6764f714b8b753ba209ec9a83c213d25Timo Sirainenextern void (*hook_config_parser_begin)(struct config_parser_context *ctx);
0df566822360dd8ca963864a51a8bd56054c3331Timo Sirainenextern int (*hook_config_parser_end)(struct config_parser_context *ctx,
0df566822360dd8ca963864a51a8bd56054c3331Timo Sirainen const char **error_r);
e71a9e2e752ddbff1d04570bd6d14964ac4f890bTimo Sirainenint config_apply_line(struct config_parser_context *ctx, const char *key,
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4Timo Sirainen const char *line, const char *section_name) ATTR_NULL(4);