15 char errbuf[PCAP_ERRBUF_SIZE] = {
'\0'};
17 struct bpf_program fp;
20 struct pcap_pkthdr header;
23 memset(&net, 0,
sizeof net);
24 memset(&mask, 0,
sizeof mask);
28 fprintf(stderr,
"Couldn't find a network for interface '%s' : %s.\n",
m_paramConf->
interface().toStdString().c_str(), errbuf);
37 printf(
"Couldn't open interface '%s' : %s.\n",
m_paramConf->
interface().toStdString().c_str(), errbuf);
41 if(pcap_datalink(
m_handle) != DLT_EN10MB) {
42 printf(
"'%s' has no Ethernet header or can't handle it.\n",
m_paramConf->
interface().toStdString().c_str());
49 sprintf(filter_exp,
"ether proto 0x8947 and !(ether src %02x:%02x:%02x:%02x:%02x:%02x)",
52 if(pcap_compile(
m_handle, &fp, filter_exp, 0, net) == -1)
54 fprintf(stderr,
"Couldn't compile the filtre '%s' : %s.\n", filter_exp, pcap_geterr(
m_handle));
58 if(pcap_setfilter(
m_handle, &fp) == -1)
60 fprintf(stderr,
"Couldn't install the filter '%s' : %s.\n", filter_exp, pcap_geterr(
m_handle));
65 printf(
"\n\nFiltreChange\n\n");
68 packet = (u_char*)pcap_next(
m_handle, &header);
71 qDebug() <<
"G5 packet received";
75 qDebug() <<
"PCAP_Next breaked";
uchar * mid()
mid MID getter.
~ReceivePackets()
~ReceivePackets ReceivePackets destructor.
ParameterConfiguration * m_paramConf
ReceivePackets(ParameterConfiguration *paramConfig)
ReceivePackets ReceivePackets constructor.
void packetReceived(QByteArray)
packetReceived Signal used when a packet is received.
int receive()
receive Slot used to receive packet from the hybrid interface.
QString interface() const
interface ITS-G5 interface name getter.