static int pcap_live_dump_win32(pcap_t *p, char *filename, int maxsize, int maxpacks) { struct pcap_win *pw = p->priv; BOOLEAN res; /* Set the packet driver in dump mode */ res = PacketSetMode(pw->adapter, PACKET_MODE_DUMP); if(res == FALSE){ pcap_snprintf(p->errbuf, PCAP_ERRBUF_SIZE, "Error setting dump mode"); return (-1); } /* Set the name of the dump file */ res = PacketSetDumpName(pw->adapter, filename, (int)strlen(filename)); if(res == FALSE){ pcap_snprintf(p->errbuf, PCAP_ERRBUF_SIZE, "Error setting kernel dump file name"); return (-1); } /* Set the limits of the dump file */ res = PacketSetDumpLimits(pw->adapter, maxsize, maxpacks); if(res == FALSE) { pcap_snprintf(p->errbuf, PCAP_ERRBUF_SIZE, "Error setting dump limit"); return (-1); } return (0); }
int pcap_live_dump(pcap_t *p, char *filename, int maxsize, int maxpacks){ BOOLEAN res; if (p->adapter==NULL) { sprintf(p->errbuf, "live dump needs a physical interface supported by the NPF driver"); return -1; } /* Set the packet driver in dump mode */ res = PacketSetMode(p->adapter, PACKET_MODE_DUMP); if(res == FALSE){ sprintf(p->errbuf, "Error setting dump mode"); return -1; } /* Set the name of the dump file */ res = PacketSetDumpName(p->adapter, filename, strlen(filename)); if(res == FALSE){ sprintf(p->errbuf, "Error setting kernel dump file name"); return -1; } /* Set the limits of the dump file */ res = PacketSetDumpLimits(p->adapter, maxsize, maxpacks); return 0; }