1 #ifdef TEST_BPF
2
3 #include "sfbpf.h"
4 #include "sfbpf_dlt.h"
5 #include <stdlib.h>
6 #include <stdio.h>
7 #include <string.h>
8
9 int
main()10 main()
11 {
12 struct sfbpf_program fcode;
13 const char *filter = "tcp";
14 char data[1514];
15 int len = 1514;
16
17 memset(data, 0, sizeof(data));
18
19 if (sfbpf_compile(1514, DLT_EN10MB, &fcode, filter, 1, 0) < 0) {
20 fprintf(stderr, "%s: BPF state machine compilation failed!", __FUNCTION__);
21 return EXIT_FAILURE;
22 }
23
24 if (fcode.bf_insns && sfbpf_filter(fcode.bf_insns, data, len, len) == 0) {
25 fprintf(stderr, "Packet ignored!\n");
26 }
27
28 sfbpf_freecode(&fcode);
29
30 return EXIT_SUCCESS;
31 }
32
33 #endif /* !TEST_BPF */
34