The aim of this change is to make packet processing possible with nanosecond accuracy and to handle sub sleep times by only nanosleep()'ing.
change struct timeval to struct timespec where it was necessary
to have backward compatibility with gettimeofday, get_current_time wrapper function is used to retrieve current time (either using gettimeofday or clock_gettime based on the value of _POSIX_C_SOURCE)
pcap_open_offline is change to pcap_open_offline_with_tstamp_precision in replay_file function, as a result nanosec accuracy is not lost now directly when pcap file is read
extend nanosleep_sleep function with clock_nanosleep feature using TIMER_ABSTIME in order to avoid relative sleep when using nanosleep()
extend loop delay feature with nanosec delaying in case --timer=nano is set, earlier only microsec delay was possible
The aim of this change is to make packet processing possible with nanosecond accuracy and to handle sub sleep times by only nanosleep()'ing.