enum LND_FilterMode;
gboolean (*LND_FilterInitFunc) (LND_Filter *filter,
LND_Trace *trace,
void *filter_data);
gboolean (*LND_FilterFunc) (LND_Filter *filter,
LND_Packet *packet,
void *filter_data);
void (*LND_FilterCleanupFunc) (LND_Filter *filter,
void *filter_data);
void (*LND_FilterFreeFunc) (void *filter_data);
LND_Filter * libnd_filter_new (const char *name,
LND_FilterInitFunc filter_init,
LND_FilterFunc filter_func,
LND_FilterCleanupFunc filter_cleanup,
LND_FilterFreeFunc filter_data_free,
void *filter_data);
void libnd_filter_free (LND_Filter *filter);
void libnd_filter_set_factory (LND_Filter *filter,
LND_FilterFactory *factory);
gboolean libnd_filter_apply (LND_Filter *filter,
LND_Packet *packet);
gboolean libnd_filter_list_apply (GList *filters,
LND_Packet *packet,
LND_FilterMode mode);
void libnd_filter_list_init (GList *filters,
LND_Trace *trace);
void libnd_filter_list_cleanup (GList *filters); |