From e17eed023902bb9821321d1c606a42c2cde86200 Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 23 Sep 2004 17:54:49 +0000 Subject: [PATCH] From Gisle Vanem: add support for pcap_datalink_val_to_name() for Win32. Also add support for pcap_datalink_name_to_val(), and arrange that we properly define HAVE_PCAP_DATALINK_NAME_TO_VAL and HAVE_PCAP_DATALINK_VAL_TO_NAME for MSVC++ builds. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@12073 f5534014-38df-0310-8fa8-9805f1628bb7 --- Makefile.nmake | 2 ++ capture-wpcap.c | 30 ++++++++++++++++++++++++++++++ config.h.win32 | 2 ++ config.nmake | 5 +++++ 4 files changed, 39 insertions(+) diff --git a/Makefile.nmake b/Makefile.nmake index ea0564b2fe..997175967f 100644 --- a/Makefile.nmake +++ b/Makefile.nmake @@ -209,6 +209,8 @@ config.h : config.h.win32 config.nmake -e "s/@HAVE_LIBZ@/$(ZLIB_CONFIG)/" \ -e "s/@HAVE_LIBPCAP@/$(WINPCAP_CONFIG)/" \ -e "s/@HAVE_PCAP_FINDALLDEVS@/$(PCAP_FINDALLDEVS_CONFIG)/" \ + -e "s/@HAVE_PCAP_DATALINK_NAME_TO_VAL@/$(PCAP_DATALINK_NAME_TO_VAL_CONFIG)/" \ + -e "s/@HAVE_PCAP_DATALINK_VAL_TO_NAME@/$(PCAP_DATALINK_VAL_TO_NAME_CONFIG)/" \ -e "s/@HAVE_LIBETHEREALDLL@/$(LIBETHEREAL_CONFIG)/" \ -e "s/@WPCAP_CONSTIFIED@/$(WPCAP_CONSTIFIED_CONFIG)/" \ -e "s/@HAVE_LIBETHEREALDLL@/$(LIBETHEREAL_CONFIG)/" \ diff --git a/capture-wpcap.c b/capture-wpcap.c index e81b737cb8..8e6c49b048 100644 --- a/capture-wpcap.c +++ b/capture-wpcap.c @@ -69,6 +69,12 @@ static int (*p_pcap_loop) (pcap_t *, int, pcap_handler, guchar *); static int (*p_pcap_findalldevs) (pcap_if_t **, char *); static void (*p_pcap_freealldevs) (pcap_if_t *); #endif +#ifdef HAVE_PCAP_DATALINK_NAME_TO_VAL +static const char *(*p_pcap_datalink_name_to_val) (int); +#endif +#ifdef HAVE_PCAP_DATALINK_VAL_TO_NAME +static const char *(*p_pcap_datalink_val_to_name) (int); +#endif static const char *(*p_pcap_lib_version) (void); static int (*p_pcap_setbuff) (pcap_t *, int dim); @@ -101,6 +107,12 @@ load_wpcap(void) #ifdef HAVE_PCAP_FINDALLDEVS SYM(pcap_findalldevs, TRUE), SYM(pcap_freealldevs, TRUE), +#endif +#ifdef HAVE_PCAP_DATALINK_NAME_TO_VAL + SYM(pcap_datalink_name_to_val, TRUE), +#endif +#ifdef HAVE_PCAP_DATALINK_VAL_TO_NAME + SYM(pcap_datalink_val_to_name, TRUE), #endif SYM(pcap_lib_version, TRUE), SYM(pcap_setbuff, TRUE), @@ -250,6 +262,24 @@ pcap_freealldevs(pcap_if_t *a) } #endif +#ifdef HAVE_PCAP_DATALINK_NAME_TO_VAL +int +pcap_datalink_name_to_val(const char *name) +{ + g_assert(has_wpcap && p_pcap_datalink_name_to_val != NULL); + return p_pcap_datalink_name_to_val(dlt); +} +#endif + +#ifdef HAVE_PCAP_DATALINK_VAL_TO_NAME +const char * +pcap_datalink_val_to_name(int dlt) +{ + g_assert(has_wpcap && p_pcap_datalink_val_to_name != NULL); + return p_pcap_datalink_val_to_name(dlt); +} +#endif + /* setbuff is win32 specific! */ int pcap_setbuff(pcap_t *a, int b) { diff --git a/config.h.win32 b/config.h.win32 index 49b178bfe5..c6d4d9cee1 100644 --- a/config.h.win32 +++ b/config.h.win32 @@ -43,6 +43,8 @@ @HAVE_LIBPCAP@ @HAVE_PCAP_FINDALLDEVS@ +@HAVE_PCAP_DATALINK_NAME_TO_VAL@ +@HAVE_PCAP_DATALINK_VAL_TO_NAME@ @WPCAP_CONSTIFIED@ @HAVE_LIBETHEREALDLL@ diff --git a/config.nmake b/config.nmake index 27244b6940..0cdffd68eb 100644 --- a/config.nmake +++ b/config.nmake @@ -262,14 +262,19 @@ GTK2_LIBS=$(GTK2_DIR)\lib\gtk-win32-2.0.lib \ WINPCAP_CONFIG=^#define HAVE_LIBPCAP 1 !IF "$(WINPCAP_VERSION)" == "3.0" || "$(WINPCAP_VERSION)" == "3.1" PCAP_FINDALLDEVS_CONFIG=^#define HAVE_PCAP_FINDALLDEVS 1 +PCAP_DATALINK_NAME_TO_VAL_CONFIG=^#define HAVE_PCAP_DATALINK_NAME_TO_VAL 1 +PCAP_DATALINK_VAL_TO_NAME_CONFIG=^#define HAVE_PCAP_DATALINK_VAL_TO_NAME 1 WPCAP_CONSTIFIED_CONFIG=^#define WPCAP_CONSTIFIED 1 !ELSE PCAP_FINDALLDEVS_CONFIG= +PCAP_DATALINK_VAL_TO_NAME_CONFIG= WPCAP_CONSTIFIED= !ENDIF !ELSE WINPCAP_CONFIG= PCAP_FINDALLDEVS_CONFIG= +PCAP_DATALINK_NAME_TO_VAL_CONFIG= +PCAP_DATALINK_VAL_TO_NAME_CONFIG= WPCAP_CONSTIFIED= !ENDIF -- 2.34.1