diff options
author | Adrian Budau <adbudau@bitdefender.com> | 2018-08-06 13:35:17 +0300 |
---|---|---|
committer | Adrian Budau <adbudau@bitdefender.com> | 2018-08-06 13:37:30 +0300 |
commit | 5c8b13d3e87542527ed9a3a79fb0f9b2edb74df1 (patch) | |
tree | a779b985f8edc5b1ed7e29634710dfd1a9fda268 /pcap-int.h | |
parent | e217f88289b9601e3a9a8d13477f867bcb83b5e2 (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.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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()". |