libnetdude
void (*LND_FilterCreateFunc) (void);
void (*LND_FilterModifyFunc) (LND_Filter *filter);
void (*LND_FilterFactoryFunc) (LND_FilterFactory *factory, void *user_data);
LND_FilterFactory * libnd_filter_factory_new (const char *name, LND_FilterCreateFunc create_func, LND_FilterModifyFunc modify_func);
void libnd_filter_factory_free (LND_FilterFactory *factory);
gboolean libnd_filter_factory_register (LND_FilterFactory *factory);
void libnd_filter_factory_foreach (LND_FilterFactoryFunc callback, void *user_data);
LND_FilterFactory * libnd_filter_factory_find (const char *name);