la façon correcte d'utiliser pcap_next_ex ou pcap_next (libpcap)

J'ai vu ce type de code utilisé dans un projet:

while (1)
{
  l_numPkts = pcap_next_ex( m_pcapHandle, &header, &pkt_data);
  //do something
  memcpy(dst,pkt_data,size);    
}

après la pcap_next_ex retour,le paquet statut sera réglé TP_STATUS_KERNEL,ce qui signifie que le buf était de retour à noyau.
code:

 /* next packet */
 switch (handle->md.tp_version) {
  case TPACKET_V1:
  h.h1->tp_status = TP_STATUS_KERNEL;
..

dans certains grande vitesse,il va obtenir un problème de mémoire?

et quelle est la façon correcte d'utiliser pcap_next /pcap_next_ex?

OriginalL'auteur jon | 2010-10-15