EN JA
PCAP_COMPILE(3)
PCAP_COMPILE(3) FreeBSD Library Functions Manual PCAP_COMPILE(3)

名称

pcap_compile -フィルタ式をコンパイルする

書式


#include <pcap/pcap.h>


int pcap_compile(pcap_t *p, struct bpf_program *fp,
const char *str, int optimize, bpf_u_int32 netmask);

解説

pcap_compile() は、フィルタプログラムに文字列 str をコンパイルするために使用されます。その文字列の構文については、 pcap-filter(7) を参照してください。 program は、 bpf_program 構造体へのポインタであり、 pcap_compile() によって書き込まれます。 optimize は、結果のコードで最適化が実行されるかどうかを制御します。 netmask は、パケットがキャプチャ (捕獲) されているネットワークの IPv4 ネットマスクを指定します。それは、フィルタプログラムの IPv4 ブロードキャスト (同報通信) アドレスをチェックするときだけ、使用されます。パケットがキャプチャされているネットワークのネットマスクがプログラムに知られていないか、またはパケットが、2 つ以上のネットワークでキャプチャすることができる、Linux "any"疑似インタフェースでキャプチャされいるなら、PCAP_NETMASK_UNKNOWN の値を供給することができます。 IPv4 ブロードキャスト (同報通信) アドレスのためのテストは、コンパイルに失敗しますが、フィルタプログラムでのすべての他のテストは、OK になります。

戻り値

pcap_compile() は、成功すれば 0 を返し、失敗すれば-1 を返します。-1 が返されるなら、 pcap_geterr() または pcap_perror() は、取って来るか、またはエラーテキストを表示する引数として p を付けて呼び出されます。

関連項目

pcap(3), pcap_setfilter(3), pcap_freecode(3), pcap_geterr(3), pcap-filter(7)
5 April 2008