#include <stdio.h>      /* for printf, etc. */
#include <stdlib.h>     /* for calloc, etc. */
#include <pthread.h>        /* for thread pieces */
#include <string.h>     /* for strrchr, etc. */
#include <sysexits.h>       /* for EX_* codes */

/* structs needed for later includes */
#include <sys/types.h>
#include <sys/socket.h>
#include <net/if.h>
#include <netinet/in_systm.h>

#include <netinet/in.h>     /* for struct in_addr */
#include <netinet/ip.h>     /* for struct ip */
#include <netinet/udp.h>    /* for struct udphdr */

#include <errno.h>      /* for errno and EINVAL, etc */