File: filterprotocols.cc

package info (click to toggle)
natlog 3.01.00-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,912 kB
  • sloc: cpp: 3,691; fortran: 201; sh: 133; ansic: 123; makefile: 110
file content (20 lines) | stat: -rw-r--r-- 580 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "pcap.ih"

void Pcap::filterProtocols()
{
    enum 
    {
        OPTIMIZE = true
    };

    string filterExpr = Options::instance().protocolNames();

    if (pcap_compile(d_pcap, &d_pcapFilter, 
                     filterExpr.c_str(), OPTIMIZE, d_net) == -1) 
        fmsg << "Pcap compilation of `" << filterExpr << 
                            "' failed: " << pcap_geterr(d_pcap) << endl;
    
    if (pcap_setfilter(d_pcap, &d_pcapFilter) == -1) 
         fmsg << "Couldn't install filter `" << 
                filterExpr << ": " << pcap_geterr(d_pcap) << endl;
}