eth_t * eth_open(const char *device) { eth_t *eth; char pname[128]; if (intf_get_pcap_devname(device, pname, sizeof(pname)) != 0) return NULL; if ((eth = calloc(1, sizeof(*eth))) == NULL) return (NULL); if ((eth->lpa = PacketOpenAdapter(pname)) == NULL || eth->lpa->hFile == INVALID_HANDLE_VALUE) return (eth_close(eth)); PacketSetBuff(eth->lpa, 512000); if ((eth->pkt = PacketAllocatePacket()) == NULL) return (eth_close(eth)); return (eth); }
int eth_get_pcap_devname(const char *intf_name, char *pcapdev, int pcapdevlen) { return intf_get_pcap_devname(intf_name, pcapdev, pcapdevlen); }