aboutsummaryrefslogtreecommitdiff
path: root/pcap-int.h
diff options
context:
space:
mode:
authorAdrian Budau <adbudau@bitdefender.com>2018-08-06 13:35:17 +0300
committerAdrian Budau <adbudau@bitdefender.com>2018-08-06 13:37:30 +0300
commit5c8b13d3e87542527ed9a3a79fb0f9b2edb74df1 (patch)
treea779b985f8edc5b1ed7e29634710dfd1a9fda268 /pcap-int.h
parente217f88289b9601e3a9a8d13477f867bcb83b5e2 (diff)
Proper breakloop for linux on pcap_dispatch
On platforms that support it use an eventfd to exit any polling.
Diffstat (limited to 'pcap-int.h')
-rw-r--r--pcap-int.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/pcap-int.h b/pcap-int.h
index 21036822..74cfa7bc 100644
--- a/pcap-int.h
+++ b/pcap-int.h
@@ -126,6 +126,7 @@ typedef int (*set_datalink_op_t)(pcap_t *, int);
typedef int (*getnonblock_op_t)(pcap_t *);
typedef int (*setnonblock_op_t)(pcap_t *, int);
typedef int (*stats_op_t)(pcap_t *, struct pcap_stat *);
+typedef void (*breakloop_op_t)(pcap_t *);
#ifdef _WIN32
typedef struct pcap_stat *(*stats_ex_op_t)(pcap_t *, int *);
typedef int (*setbuff_op_t)(pcap_t *, int);
@@ -264,6 +265,7 @@ struct pcap {
getnonblock_op_t getnonblock_op;
setnonblock_op_t setnonblock_op;
stats_op_t stats_op;
+ breakloop_op_t breakloop_op;
/*
* Routine to use as callback for pcap_next()/pcap_next_ex().
@@ -418,6 +420,7 @@ void pcap_add_to_pcaps_to_close(pcap_t *);
void pcap_remove_from_pcaps_to_close(pcap_t *);
void pcap_cleanup_live_common(pcap_t *);
int pcap_check_activated(pcap_t *);
+void pcap_breakloop_common(pcap_t *);
/*
* Internal interfaces for "pcap_findalldevs()".