1PCAP_COMPILE(3PCAP)                                        PCAP_COMPILE(3PCAP)
2
3
4

NAME

6       pcap_compile - compile a filter expression
7

SYNOPSIS

9       #include <pcap/pcap.h>
10
11       int pcap_compile(pcap_t *p, struct bpf_program *fp,
12               const char *str, int optimize, bpf_u_int32 netmask);
13

DESCRIPTION

15       pcap_compile() is used to compile the string str into a filter program.
16       See pcap-filter(7) for the syntax of that string.  fp is a pointer to a
17       bpf_program  struct  and is filled in by pcap_compile().  optimize con‐
18       trols whether optimization on the resulting code is performed.  netmask
19       specifies  the  IPv4  netmask of the network on which packets are being
20       captured; it is used only when checking for IPv4 broadcast addresses in
21       the filter program.  If the netmask of the network on which packets are
22       being captured isn't known to the program, or if packets are being cap‐
23       tured on the Linux "any" pseudo-interface that can capture on more than
24       one network, a value of PCAP_NETMASK_UNKNOWN can be supplied; tests for
25       IPv4  broadcast  addresses will fail to compile, but all other tests in
26       the filter program will be OK.
27
28       NOTE: in libpcap 1.8.0 and later, pcap_compile() can be used in  multi‐
29       ple  threads  within a single process.  However, in earlier versions of
30       libpcap, it is not safe to use pcap_compile() in multiple threads in  a
31       single  process without some form of mutual exclusion allowing only one
32       thread to call it at any given time.
33

RETURN VALUE

35       pcap_compile() returns 0 on  success  and  PCAP_ERROR  on  failure.  If
36       PCAP_ERROR is returned, pcap_geterr(3PCAP) or pcap_perror(3PCAP) may be
37       called with p as an argument to fetch or display the error text.
38

BACKWARD COMPATIBILITY

40       The PCAP_NETMASK_UNKNOWN constant became available in  libpcap  release
41       1.1.0.
42

SEE ALSO

44       pcap(3PCAP), pcap_setfilter(3PCAP), pcap_freecode(3PCAP)
45
46
47
48                                22 August 2018             PCAP_COMPILE(3PCAP)
Impressum