#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 */