typedef struct dp_conf { int pktint; int interval; int debug; int bltime; int queue; } dp_conf; typedef struct dp_blacklist { char remoteid[256]; int len; int count; UT_hash_handle hh; } dp_blacklist; static dp_blacklist *blacklists = NULL; static time_t dp_timestamp = 0; void usage (char*); dp_conf *load_config (dp_conf*, char*); u_int32_t dhcp_check (struct nfq_data*, int*, dp_conf*); static int dp_callback (struct nfq_q_handle*, struct nfgenmsg*, struct nfq_data*, void*); void nfq_start (dp_conf*); void dp_blacklist_count (dp_conf*, unsigned char *, int); int dp_blacklist_check (dp_conf*, unsigned char *, int);