#include <stdio.h>
#include <pcap.h>
int main()
{
pcap_if_t * alldevs;
pcap_if_t *d;
int *tstamps = NULL;
int i = 0;
const char* tstamp_type_name ;
char errbuf[PCAP_ERRBUF_SIZE] = {0};
if(-1 == pcap_findalldevs(&alldevs, errbuf)){
printf("Error in pcap_findalldevs: %s\n", errbuf);
return -1;
}
for (d = alldevs; d != NULL; d = d->next ){
pcap_t *pHandle = pcap_open_live(d->name, 65535, 0, 1000, NULL);
int n_tstamp_types = pcap_list_tstamp_types(pHandle, &tstamps);
for (i = 0; i < n_tstamp_types; i++){
tstamp_type_name = pcap_tstamp_type_val_to_name(tstamps[i]);
printf("%s:\t%s\n", d->name, tstamp_type_name);
}
pcap_free_tstamp_types(tstamps);
pcap_close(pHandle);
}
pcap_freealldevs(alldevs);
return 0;
}
===================================================================================================================================
root@ubuntu:/home/jason/Desktop# ./a.out
eth0: host
eth0: adapter
eth0: adapter_unsynced
any: host
any: adapter
any: adapter_unsynced
lo: host
lo: adapter
lo: adapter_unsynced