7ac4453a68da67fbca1df0551ff1ab901ae84085
[fwknop.git] / server / pcap_capture.h
1 /*
2  *****************************************************************************
3  *
4  * File:    pcap_capture.h
5  *
6  * Author:  Damien Stuart (dstuart@dstuart.org)
7  *
8  * Purpose: Header file for pcap_capture.c.
9  *
10  * Copyright 2010 Damien Stuart (dstuart@dstuart.org)
11  *
12  *  License (GNU Public License):
13  *
14  *  This program is free software; you can redistribute it and/or
15  *  modify it under the terms of the GNU General Public License
16  *  as published by the Free Software Foundation; either version 2
17  *  of the License, or (at your option) any later version.
18  *
19  *  This program is distributed in the hope that it will be useful,
20  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
21  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  *  GNU General Public License for more details.
23  *
24  *  You should have received a copy of the GNU General Public License
25  *  along with this program; if not, write to the Free Software
26  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
27  *  USA
28  *
29  *****************************************************************************
30 */
31 #ifndef PCAP_CAPTURE_H
32 #define PCAP_CAPTURE_H
33
34 /* How many consecutive pcap capture errors will we allow
35  * before giving up and bailing out.
36 */
37 #define MAX_PCAP_ERRORS_BEFORE_BAIL 100
38
39 /* We normally want pcap in non-blockinbg mode, but this seems to be
40  * broken on FreeBSD 7 (at least my test host), so we'll set the default
41  * mode to on unless it is a FreeBSD system. --DSS XXX: What we really need
42  * to do is figure out what the difference is and address it correctly.
43 */
44 #if defined(__FreeBSD__)
45     #define DEF_PCAP_NONBLOCK 0
46 #else
47     #define DEF_PCAP_NONBLOCK 1
48 #endif
49
50 /* Prototypes
51 */
52 int pcap_capture(fko_srv_options_t *opts);
53
54 #endif  /* PCAP_CAPTURE_H */