A quoi sert pcap_pkthdr?

Extrait de code à partir d’ ici :

void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data) { .... /* retireve the position of the ip header */ ih = (ip_header *) (pkt_data + 14); //length of ethernet header .... 

Qu’est-ce que const struct pcap_pkthdr *header pour ( définition ), quand en avons-nous besoin, comment est-il rempli (puisqu’il n’y a pas de telles informations dans le paquet lui-même)?

texte alt http://soffr.miximages.com/c/image002.gif

    Si vous aviez gardé le commentaire, cela aurait été un peu plus facile. Ça dit:

     /* Callback function invoked by libpcap for every incoming packet */ 

    Ici, il est dit à propos de typedef void(*) pcap_handler(u_char *user, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data) :

    pkt_header est l’en-tête associé par le pilote de capture au paquet. Ce n’est pas un en-tête de protocole.