-/** The array of supported filters. */
-struct filter filters[NUM_SUPPORTED_FILTERS] = {FILTER_ARRAY};
-
-/**
- * Call the init function of each supported filter.
- * \sa filter::init
- */
-void filter_init(void)
-{
- int i;
-
- FOR_EACH_SUPPORTED_FILTER(i)
- filters[i].init(filters + i);
-}
-
-/**
- * Close and destroy a filter callback.
- *
- * \param fcb The filter callback to close.
- *
- * This removes \a fcb from the list of filter callbacks and calls
- * the close callback associated with \a fcb.
- */
-static void close_filter_callback(struct filter_callback *fcb)
-{
- PARA_NOTICE_LOG("closing filter_callback %p\n", fcb);
- list_del(&fcb->node);
- fcb->close(fcb);
-}
-
-/**
- * Close all callbacks of a filter node.
- *
- * \param fn The filter node which contains the filter callbacks to be closed.
- *
- * Call close_filter_callback() for each entry in the filter callback list
- * of \a fn.
- */
-static void close_callbacks(struct filter_node *fn)
-{
- struct filter_callback *fcb, *tmp;
-
- list_for_each_entry_safe(fcb, tmp, &fn->callbacks, node) {
- PARA_INFO_LOG("closing %s filter callback\n",
- filters[fn->filter_num].name);
- close_filter_callback(fcb);
- }
-}