-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include "hash.h"
-
-/* ------------------------------------------------------------------------------------------------
- * Each port monitor contains a connection hash whose contents changes dynamically as the monitor
- * is presented with connections on each update cycle. This implementation maintains the health
- * of this hash by enforcing several rules. First, the hash cannot contain more items than the
- * TCP_CONNECTION_HASH_MAX_LOAD_RATIO permits. For example, a 256 element hash with a max load of
- * 0.5 cannot contain more than 128 connections. Additional connections are ignored by the monitor.
- * The load factor of 0.5 is low enough to keep the hash running at near O(1) performanace at all
- * times. As elements are removed from the hash, the hash slots are tagged vacated, as required
- * by open address hashing. The vacated tags are essential as they enable the hash to find elements
- * for which there were collisions during insert (requiring additional probing for an open slot).
- * The problem with vacated slots (even though they are reused) is that, as they increase in number,
- * esp. past about 1/4 of all slots, the average number of probes the hash has to perform increases
- * from O(1) on average to O(n) worst case. To keep the hash healthy, we simply rebuild it when the
- * percentage of vacated slots gets too high (above TCP_CONNECTION_HASH_MAX_VACATED_RATIO).
- * Rebuilding the hash takes O(n) on the number of elements, but it well worth it as it keeps the
- * hash running at an average access time of O(1).
- * ------------------------------------------------------------------------------------------------*/
-
-#define TCP_CONNECTION_HASH_SIZE_DEFAULT 512 /* connection hash size default -- must be a power of two */
-#define TCP_CONNECTION_HASH_SIZE_MAX 65535 /* connection hash size maximum -- must be a power of two */
-#define TCP_CONNECTION_HASH_MAX_LOAD_RATIO 0.5 /* disallow inserts after this load ratio is exceeded */
-#define TCP_CONNECIION_HASH_MAX_VACATED_RATIO 0.25 /* rebalance hash after this ratio of vacated slots is exceeded */
-#define TCP_CONNECIION_STARTING_AGE 1 /* connection deleted if unseen again after this # of refreshes */
-
-/* ----------------------------------------------------------------------------------------
- * The tcp port monitor collection also contains a hash to track the monitors it contains.
- * This hash, unlike the connection hash describes above, is not very dynamic. Clients of
- * this library typically create a fixed number of monitors and let them run until program
- * termination. For this reason, I haven't included any load governors or hash rebuilding
- * steps as is done above. You may store up to TCP_MONITOR_HASH_SIZE monitors in this hash,
- * but you _should_ remember that keeping the load low (e.g. max of 0.5) keeps the monitor
- * lookups at O(1).
- * ----------------------------------------------------------------------------------------*/
-
-#define TCP_MONITOR_HASH_SIZE_DEFAULT 32 /* monitor hash size default -- must be a power of two */
-#define TCP_MONITOR_HASH_SIZE_MAX 512 /* monitor hash size maximum -- must be a power of two */
-#define TCP_MONITOR_HASH_MAX_LOAD_RATIO 0.5 /* disallow new monitors after this load ratio is exceeded */