1 /* 2 * aprsc 3 * 4 * (c) Matti Aarnio, OH2MQK, <oh2mqk@sral.fi> 5 * 6 * This program is licensed under the BSD license, which can be found 7 * in the file LICENSE. 8 * 9 */ 10 11 #ifndef FILTER_H 12 #define FILTER_H 1 13 14 #include "worker.h" 15 #include "cellmalloc.h" 16 17 extern void filter_init(void); 18 extern int filter_parse(struct client_t *c, const char *filt, int is_user_filter); 19 extern void filter_free(struct filter_t *c); 20 extern int filter_process(struct worker_t *self, struct client_t *c, struct pbuf_t *pb); 21 extern int filter_commands(struct worker_t *self, struct client_t *c, int in_message, const char *s, const int len); 22 23 extern void filter_preprocess_dupefilter(struct pbuf_t *pb); 24 extern void filter_postprocess_dupefilter(struct pbuf_t *pb); 25 26 extern void filter_entrycall_cleanup(void); 27 extern void filter_entrycall_atend(void); 28 extern int filter_entrycall_cellgauge; 29 extern void filter_entrycall_dump(FILE *fp); 30 31 extern void filter_wx_cleanup(void); 32 extern void filter_wx_atend(void); 33 extern int filter_wx_cellgauge; 34 extern void filter_wx_dump(FILE *fp); 35 36 extern int filter_cellgauge; 37 38 extern int have_filtered_listeners; 39 40 extern float filter_lat2rad(float lat); 41 extern float filter_lon2rad(float lon); 42 43 #ifndef _FOR_VALGRIND_ 44 extern void filter_cell_stats(struct cellstatus_t *filter_cellst, 45 struct cellstatus_t *filter_entrycall_cellst, 46 struct cellstatus_t *filter_wx_cellst); 47 #endif 48 49 #endif /* FILTER_H */ 50