#ifndef CONFIG_FILTER_H
#define CONFIG_FILTER_H
#include "net.h"
struct master_service_settings_output;
struct config_filter {
const char *service;
/* local_name is for TLS SNI requests.
both local_name and local_bits can't be set at the same time. */
const char *local_name;
/* the hosts are used only in doveconf output */
};
struct config_filter_parser {
const char *file_and_line;
/* NULL-terminated array of parsers */
};
/* Replace filter's parsers with given parser list. */
struct config_filter_parser *const *parsers);
/* Build new parsers from all existing ones matching the given filter. */
const char *const *modules,
const struct config_filter *filter,
struct config_module_parser **parsers_r,
struct master_service_settings_output *output_r,
/* Return a list of filters that are a subset of the given filter. */
struct config_filter_parser *const *
const struct config_filter *filter);
/* Returns TRUE if filter matches mask. */
const struct config_filter *filter);
/* Returns TRUE if two filters are fully equal. */
const struct config_filter *f2);
#endif