summaryrefslogtreecommitdiff
path: root/caputils/capture-pcap-util.h
AgeCommit message (Collapse)AuthorFilesLines
2017-05-11Put the HAVE_REMOTE hack into wsutil/wspcap.h, and include that file.Guy Harris1-13/+1
Have a header file that defines HAVE_REMOTE if HAVE_PCAP_REMOTE is defined, and then includes pcap.h. Replace all other includes of pcap.h, and the definition of HAVE_REMOTE, with includes of that file. Check for anything other than wspcap.h including pcap.h in checkAPIs.pl. Change-Id: I3cbee8208944ad6f006f568b3fe3134e10b2a883 Reviewed-on: https://code.wireshark.org/review/21605 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-05-11Force HAVE_REMOTE to be defined when including pcap.h with remote support.Guy Harris1-0/+12
WinPcap made the mistake of having stuff in its public header fines depend on a configuration #define, HAVE_REMOTE; this means that we need to forcibly define it when building with remote capture support. The tip of the libpcap master branch does not have that botch; hopefully future versions of libpcap-for-Windows will be based on that libpcap and thus lack that botch as well. Defining HAVE_REMOTE in config.h is not the right fix, as it makes it look like a *Wireshark* configuration option that code in Wireshark should test, rather than a *WinPcap* configuration option that the pcap.h that ships with the WinPcap SDK should have been changed, as part of the build process, to correctly define or not, so that users of WinPcap don't have to define it themselves. Change-Id: I62d1eca6d3c900d0dcc9fbc011db77f595a86313 Reviewed-on: https://code.wireshark.org/review/21593 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-07Don't declare libpcap wrappers if we're not building with libpcap.Guy Harris1-3/+3
Few of these functions exist if we're not building with libpcap. Change-Id: Icead80bc1993a229341fb4fcba6f1e5901c610ee Reviewed-on: https://code.wireshark.org/review/13097 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-07Move more capture device handling to the caputils library.Guy Harris1-7/+14
Move the code to open capture devices and get properties of capture devices there, joining the code to get a list of capture devices. This lets us do a better job of handling pcap_create() in WinPcap, including handling both WinPcap with pcap_create() and WinPcap without pcap_create() at run time, just in case somebody tries using WinPcap 3.x with a Wireshark built with WinPcap 4.x. It also could make it easier to use libpcap/WinPcap directly in Wireshark and TShark, if we have versions of libpcap/WinPcap that run small helper utilities to do privileged functions, allowing programs using them never to need elevated privileges themselves. That might make it easier to fix some issues with running TShark when not saving to a file (we could avoid the file entirely) and with delays when stopping a capture in Wireshark (Wireshark could stop writing to the file as soon as you click the stop button, rather than letting dumpcap do so when the signal gets to it). It might also make it easier to handle future versions of libpcap/WinPcap that support using pcap_create()/pcap_activate() for remote captures, and other future extensions to libpcap/WinPcap. Rename some XXX_linktype routines to XXX_datalink to indicate that they work with DLT_ values rather than LINKTYPE_ values; future versions of libpcap might use LINKTYPE_ values in newer APIs. Check for pcap_create() on all platforms in CMake. Change-Id: Ia12e1692c96ec945c07a135d246958771a29c817 Reviewed-on: https://code.wireshark.org/review/13062 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-11-05Oops, we also need to worry about pcap_get_tstamp_precision().Guy Harris1-0/+7
Change-Id: I60a1f671ba313c59ca1999ab703ee11370608758 Reviewed-on: https://code.wireshark.org/review/5123 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-11-05Cope with newer Xcode not having the 10.6 SDK.Guy Harris1-2/+6
The latest Xcode, as of today, has only 10.9 and 10.10 SDKs, which means that, if we build Wireshark and request a deployment minimum release of 10.6, we'll be building against an SDK in which libpcap has routines that aren't available in 10.6 and that doesn't use weak linking for them, so the resulting binary won't actually work on 10.6. Use the run-time loader to find those routines (currently, only pcap_set_tstamp_precision()) and call them only if we find them. On other UN*Xes, we still assume that we'll be running only on the release against which we were built and newer releases. Change-Id: Iab20d86fe3be4b299cfb6e25c1f95dc6e1581661 Reviewed-on: https://code.wireshark.org/review/5120 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-04Move utility routines for capturing into a libcaputils static library.Guy Harris1-0/+74
Some of those routines are used only in dumpcap; others are used in TShark and Wireshark as well. Change-Id: I9d92483f2fcff57a7d8b6bf6bdf2870505d19fb7 Reviewed-on: https://code.wireshark.org/review/2841 Reviewed-by: Guy Harris <guy@alum.mit.edu>