+/**
+ * Information about the filter types.
+ * Used for macro replacement in cgi_edit_actions_for_url.
+ */
+struct filter_type_info
+{
+ const int multi_action_index; /**< The multi action index as defined in project.h */
+ const char *macro_name; /**< Name of the macro that has to be replaced
+ with the prepared templates.
+ For example "content-filter-params" */
+ const char *type; /**< Name of the filter type,
+ for example "server-header-filter". */
+ /* XXX: check if these two can be combined. */
+ const char *disable_all_option; /**< Name of the catch-all radio option that has
+ to be checked or unchecked for this filter type. */
+ const char *disable_all_param; /**< Name of the parameter that causes all filters of
+ this type to be disabled. */
+ const char *abbr_type; /**< Abbreviation of the filter type, usually the
+ first or second character capitalized */
+ const char *anchor; /**< Anchor for the User Manual link,
+ for example "SERVER-HEADER-FILTER" */
+};
+
+/* Accessed by index, keep the order in the way the FT_ macros are defined. */
+static const struct filter_type_info filter_type_info[] =
+{
+ {
+ ACTION_MULTI_FILTER,
+ "content-filter-params", "filter",
+ "filter-all", "filter_all",
+ "F", "FILTER"
+ },
+ {
+ ACTION_MULTI_CLIENT_HEADER_FILTER,
+ "client-header-filter-params", "client-header-filter",
+ "client-header-filter-all", "client_header_filter_all",
+ "C", "CLIENT-HEADER-FILTER"
+ },
+ {
+ ACTION_MULTI_SERVER_HEADER_FILTER,
+ "server-header-filter-params", "server-header-filter",
+ "server-header-filter-all", "server_header_filter_all",
+ "S", "SERVER-HEADER-FILTER"
+ },
+ {
+ ACTION_MULTI_CLIENT_HEADER_TAGGER,
+ "client-header-tagger-params", "client-header-tagger",
+ "client-header-tagger-all", "client_header_tagger_all",
+ "L", "CLIENT-HEADER-TAGGER"
+ },
+ {
+ ACTION_MULTI_SERVER_HEADER_TAGGER,
+ "server-header-tagger-params", "server-header-tagger",
+ "server-header-tagger-all", "server_header_tagger_all",
+ "E", "SERVER-HEADER-TAGGER"
+ },
+};
+