Ahoj ludia, mam tento kod:
Kód:
struct pcap_pkthdr *header[3];
const u_char *data[2];
struct pcap_pkthdr *PHEADER;;
const u_char *PDATA;
int res, i;
pcap_t *fp;
// otvorenie suboru
if ((fp = pcap_open_offline("eth_a.pcap", errbuf)) == NULL)
{
printf("Nejde otvorit");
}
// paketovanie
header[0] = (pcap_pkthdr *) malloc(sizeof(pcap_pkthdr));
header[1] = (pcap_pkthdr *) malloc(sizeof(pcap_pkthdr));
header[2] = (pcap_pkthdr *) malloc(sizeof(pcap_pkthdr));
res = pcap_next_ex(fp, &PHEADER, &PDATA);
memcpy((void *)&header[0], (void *)&PHEADER, sizeof(pcap_pkthdr));
res = pcap_next_ex(fp, &PHEADER, &PDATA);
memcpy((void *) &header[1], (void *) &PHEADER, sizeof(pcap_pkthdr));
res = pcap_next_ex(fp, &PHEADER, &PDATA);
memcpy((void *) &header[2], (void *) &PHEADER, sizeof(pcap_pkthdr));
problem je ten, ze chcem mat v poli ulozenu strukturu header pre kazdy paket, ale ked precitam cez pcap_next_ex(), tak sa mi prepisu predosle precitane na hodnotu sucasne precitanej. Preto som tam dal memcpy, ale aj tak to nefunguje, lebo ked si dam vypis obsahu pola header, tak vsade je to iste....
Vie niekto poradit kde robim chybu ?
D