libpcap: update to 1.3.0
authorFelix Fietkau <nbd@openwrt.org>
Mon, 1 Apr 2013 21:07:34 +0000 (21:07 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 1 Apr 2013 21:07:34 +0000 (21:07 +0000)
Disabled canusb by setting ac_cv_header_libusb_1_0_libusb_h to no in
Makefile.  Upstream configure script ignores --disable-canusb.

Signed-off-by: Russell Senior <russell@personaltelco.net>
SVN-Revision: 36150

package/libs/libpcap/Makefile
package/libs/libpcap/patches/100-debian_shared_lib.patch
package/libs/libpcap/patches/102-makefile_disable_manpages.patch
package/libs/libpcap/patches/202-protocol_api.patch

index de77c00..75b5487 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2006-2013 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libpcap
-PKG_VERSION:=1.1.1
-PKG_RELEASE:=2
+PKG_VERSION:=1.3.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.tcpdump.org/release/
-PKG_MD5SUM:=1bca27d206970badae248cfa471bbb47
+PKG_MD5SUM:=f78455a92622b7a3c05c58b6ad1cec7e
 
 PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
 
@@ -45,7 +45,9 @@ TARGET_CFLAGS += \
        -fdata-sections
 
 CONFIGURE_VARS += \
-       ac_cv_linux_vers=$(LINUX_VERSION)
+       ac_cv_linux_vers=$(LINUX_VERSION) \
+       ac_cv_header_libusb_1_0_libusb_h=no
+
 
 CONFIGURE_ARGS += \
        --enable-shared \
index 5be33b0..30cb10a 100644 (file)
@@ -1,20 +1,15 @@
 Debian-specific modifications to the upstream Makefile.in to
 build a shared library.
----
- Makefile.in  |   45 ++++++++++++++++++++++++++++++++++++++++++---
- configure    |    2 +-
- configure.in |    2 +-
- 3 files changed, 44 insertions(+), 5 deletions(-)
 
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -40,6 +40,14 @@ mandir = @mandir@
+@@ -40,6 +40,14 @@
  srcdir = @srcdir@
  VPATH = @srcdir@
  
 +# some defines for shared library compilation
-+MAJ=1.1
-+LIBVERSION=$(MAJ).1
++MAJ=1.3
++LIBVERSION=$(MAJ).0
 +LIBNAME=pcap
 +LIBRARY=lib$(LIBNAME).a
 +SOLIBRARY=lib$(LIBNAME).so
@@ -23,28 +18,30 @@ build a shared library.
  #
  # You shouldn't need to edit anything below.
  #
-@@ -59,6 +67,7 @@ PROG=libpcap
+@@ -60,7 +68,8 @@
+ PROG=libpcap
  
  # Standard CFLAGS
- CFLAGS = $(CCOPT) $(INCLS) $(DEFS)
+-FULL_CFLAGS = $(CCOPT) $(INCLS) $(DEFS) $(CFLAGS)
++FULL_CFLAGS = $(CCOPT) $(INCLS) $(DEFS) $(CFLAGS) $(CPPFLAGS)
 +CFLAGS_SHARED = -shared -Wl,-soname,$(SOLIBRARY).$(MAJ)
  
  INSTALL = @INSTALL@
  INSTALL_PROGRAM = @INSTALL_PROGRAM@
-@@ -78,7 +87,11 @@ YACC = @V_YACC@
+@@ -80,7 +89,11 @@
  # problem if you don't own the file but can write to the directory.
  .c.o:
        @rm -f $@
--      $(CC) $(CFLAGS) -c $(srcdir)/$*.c
-+      $(CC) $(CFLAGS) -c -o $@ $(srcdir)/$*.c
+-      $(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.c
++      $(CC) $(FULL_CFLAGS) -c -o $@ $(srcdir)/$*.c
 +
 +%_pic.o: %.c
 +      @rm -f $@
-+      $(CC) -fPIC $(CFLAGS) -c -o $@ $(srcdir)/$*.c
++      $(CC) -fPIC $(FULL_CFLAGS) -c -o $@ $(srcdir)/$*.c
  
- PSRC =        pcap-@V_PCAP@.c @USB_SRC@ @BT_SRC@ @CAN_SRC@
+ PSRC =        pcap-@V_PCAP@.c @USB_SRC@ @BT_SRC@ @CAN_SRC@ @NETFILTER_SRC@ @CANUSB_SRC@
  FSRC =  fad-@V_FINDALLDEVS@.c
-@@ -94,6 +107,7 @@ SRC =       $(PSRC) $(FSRC) $(CSRC) $(SSRC) $(
+@@ -96,6 +109,7 @@
  # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
  # hack the extra indirection
  OBJ = $(PSRC:.c=.o) $(FSRC:.c=.o) $(CSRC:.c=.o) $(SSRC:.c=.o) $(GENSRC:.c=.o) $(LIBOBJS)
@@ -52,97 +49,77 @@ build a shared library.
  PUBHDR = \
        pcap.h \
        pcap-bpf.h \
-@@ -131,7 +145,7 @@ TAGFILES = \
+@@ -148,7 +162,7 @@
  
- CLEANFILES = $(OBJ) libpcap.* filtertest findalldevstest selpolltest \
-       opentest $(PROG)-`cat $(srcdir)/VERSION`.tar.gz $(GENSRC) $(GENHDR) \
+ CLEANFILES = $(OBJ) libpcap.* $(TESTS) \
+       $(PROG)-`cat $(srcdir)/VERSION`.tar.gz $(GENSRC) $(GENHDR) \
 -      lex.yy.c pcap-config
 +      lex.yy.c pcap-config $(OBJ_PIC)
  
  MAN1 = pcap-config.1
  
-@@ -324,21 +338,14 @@ EXTRA_DIST = \
-       Win32/Src/inet_net.c \
-       Win32/Src/inet_pton.c
--all: libpcap.a shared pcap-config
-+all: libpcap.a shared pcap-config $(SHAREDLIB)
- libpcap.a: $(OBJ)
-       @rm -f $@
-       ar rc $@ $(OBJ) $(ADDLARCHIVEOBJS)
+@@ -352,7 +366,7 @@
+       $(AR) rc $@ $(OBJ) $(ADDLARCHIVEOBJS)
        $(RANLIB) $@
  
 -shared: libpcap.$(DYEXT)
--
--libpcap.so: $(OBJ)
--      @rm -f $@
--      VER=`cat $(srcdir)/VERSION`; \
--      MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \
--      @V_SHLIB_CMD@ @V_SHLIB_OPT@ @V_SONAME_OPT@$@.$$MAJOR_VER $(LDFLAGS) \
--          -o $@.$$VER $(OBJ) $(ADDLOBJS) $(LIBS)
 +shared: $(SHAREDLIB)
  
- #
- # The following rule succeeds, but the result is untested.
-@@ -409,6 +416,13 @@ libpcap.shareda: $(OBJ)
+ libpcap.so: $(OBJ)
+       @rm -f $@
+@@ -430,6 +444,13 @@
  #
  libpcap.none:
  
 +$(SHAREDLIB): $(OBJ_PIC)
 +      -@rm -f $@
 +      -@rm -f $(SOLIBRARY) $(SOLIBRARY).$(MAJ)
-+      $(CC) $(CFLAGS_SHARED) -o $(SHAREDLIB) $(OBJ_PIC) -lc
++      $(CC) $(CFLAGS_SHARED) $(LDFLAGS) -o $(SHAREDLIB) $(OBJ_PIC) -lc $(LIBS)
 +      ln -s $(SHAREDLIB) $(SOLIBRARY).$(MAJ)
 +      ln -s $(SOLIBRARY).$(MAJ) $(SOLIBRARY)
 +
  scanner.c: $(srcdir)/scanner.l
        @rm -f $@
        $(srcdir)/runlex.sh $(LEX) -o$@ $<
-@@ -416,6 +430,9 @@ scanner.c: $(srcdir)/scanner.l
+@@ -437,6 +458,9 @@
  scanner.o: scanner.c tokdefs.h
-       $(CC) $(CFLAGS) -c scanner.c
+       $(CC) $(FULL_CFLAGS) -c scanner.c
  
 +scanner_pic.o: scanner.c tokdefs.h
-+      $(CC) -fPIC $(CFLAGS) -o $@ -c scanner.c
++      $(CC) -fPIC $(FULL_CFLAGS) -o $@ -c scanner.c
 +
  pcap.o: version.h
  
  tokdefs.h: grammar.c
-@@ -429,9 +446,17 @@ grammar.o: grammar.c
+@@ -450,9 +474,16 @@
        @rm -f $@
-       $(CC) $(CFLAGS) -Dyylval=pcap_lval -c grammar.c
+       $(CC) $(FULL_CFLAGS) -Dyylval=pcap_lval -c grammar.c
  
 +grammar_pic.o: grammar.c
 +      @rm -f $@
-+      $(CC) -fPIC $(CFLAGS) -Dyylval=pcap_lval -o $@ -c grammar.c
++      $(CC) -fPIC $(FULL_CFLAGS) -Dyylval=pcap_lval -o $@ -c grammar.c 
 +
  version.o: version.c
-       $(CC) $(CFLAGS) -c version.c
+       $(CC) $(FULL_CFLAGS) -c version.c
  
 +version_pic.o: version.c
-+      $(CC) -fPIC $(CFLAGS) -c version.c -o $@
-+
++      $(CC) -fPIC $(FULL_CFLAGS) -c version.c -o $@
 +
  snprintf.o: $(srcdir)/missing/snprintf.c
-       $(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c
+       $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c
  
-@@ -469,6 +494,9 @@ bpf_filter.c: $(srcdir)/bpf/net/bpf_filt
+@@ -490,6 +521,9 @@
  bpf_filter.o: bpf_filter.c
-       $(CC) $(CFLAGS) -c bpf_filter.c
+       $(CC) $(FULL_CFLAGS) -c bpf_filter.c
  
 +bpf_filter_pic.o: bpf_filter.c
-+      $(CC) -fPIC $(CFLAGS) -c bpf_filter.c -o $@
++      $(CC) -fPIC $(FULL_CFLAGS) -c bpf_filter.c -o $@
 +
  #
  # Generate the pcap-config script.
  #
-@@ -562,14 +590,12 @@ install: install-shared install-archive 
-                   $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@/`echo $$i | sed 's/.manmisc.in/.@MAN_MISC_INFO@/'`; done
- install-shared: install-shared-$(DYEXT)
--install-shared-so: libpcap.so
-+install-shared-so: $(SHAREDLIB)
+@@ -607,11 +641,9 @@
+ install-shared-so: libpcap.so
        [ -d $(DESTDIR)$(libdir) ] || \
            (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))
 -      VER=`cat $(srcdir)/VERSION`; \
@@ -156,18 +133,18 @@ build a shared library.
  install-shared-dylib: libpcap.dylib
        [ -d $(DESTDIR)$(libdir) ] || \
            (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))
---- a/configure
-+++ b/configure
-@@ -3229,7 +3229,7 @@ _ACEOF
-                   # or accepts command-line arguments like
-                   # those the GNU linker accepts.
-                   #
--                  V_CCOPT="$V_CCOPT -fpic"
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -262,7 +262,7 @@
+                       esac
+                       ;;
+                   esac
+-                  V_CCOPT="$V_CCOPT $PIC_OPT"
 +                  V_CCOPT="$V_CCOPT"
                    V_SONAME_OPT="-Wl,-soname,"
                    V_RPATH_OPT="-Wl,-rpath,"
                    ;;
-@@ -3292,7 +3292,7 @@ _ACEOF
+@@ -325,7 +325,7 @@
                    #
                    # "cc" is GCC.
                    #
@@ -176,3 +153,22 @@ build a shared library.
                    V_SHLIB_CMD="\$(CC)"
                    V_SHLIB_OPT="-shared"
                    V_SONAME_OPT="-Wl,-soname,"
+--- a/pcap-config.in
++++ b/pcap-config.in
+@@ -36,16 +36,6 @@
+       esac
+       shift
+ done
+-if [ "$V_RPATH_OPT" != "" ]
+-then
+-      #
+-      # If libdir isn't /usr/lib, add it to the run-time linker path.
+-      #
+-      if [ "$libdir" != "/usr/lib" ]
+-      then
+-              RPATH=$V_RPATH_OPT$libdir
+-      fi
+-fi
+ if [ "$static" = 1 ]
+ then
+       #
index 4674df5..50ea221 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -532,62 +532,12 @@ install: install-shared install-archive 
+@@ -571,71 +571,12 @@ install: install-shared install-archive
            (mkdir -p $(DESTDIR)$(includedir); chmod 755 $(DESTDIR)$(includedir))
        [ -d $(DESTDIR)$(includedir)/pcap ] || \
            (mkdir -p $(DESTDIR)$(includedir)/pcap; chmod 755 $(DESTDIR)$(includedir)/pcap)
 -      rm -f $(DESTDIR)$(mandir)/man3/pcap_dump_fopen.3pcap
 -      ln $(DESTDIR)$(mandir)/man3/pcap_dump_open.3pcap \
 -               $(DESTDIR)$(mandir)/man3/pcap_dump_fopen.3pcap
+-      rm -f $(DESTDIR)$(mandir)/man3/pcap_freealldevs.3pcap
+-      ln $(DESTDIR)$(mandir)/man3/pcap_findalldevs.3pcap \
+-               $(DESTDIR)$(mandir)/man3/pcap_freealldevs.3pcap
 -      rm -f $(DESTDIR)$(mandir)/man3/pcap_perror.3pcap
 -      ln $(DESTDIR)$(mandir)/man3/pcap_geterr.3pcap \
 -               $(DESTDIR)$(mandir)/man3/pcap_perror.3pcap
 -      rm -f $(DESTDIR)$(mandir)/man3/pcap_sendpacket.3pcap
 -      ln $(DESTDIR)$(mandir)/man3/pcap_inject.3pcap \
 -               $(DESTDIR)$(mandir)/man3/pcap_sendpacket.3pcap
+-      rm -f $(DESTDIR)$(mandir)/man3/pcap_free_datalinks.3pcap
+-      ln $(DESTDIR)$(mandir)/man3/pcap_list_datalinks.3pcap \
+-               $(DESTDIR)$(mandir)/man3/pcap_free_datalinks.3pcap
+-      rm -f $(DESTDIR)$(mandir)/man3/pcap_free_tstamp_types.3pcap
+-      ln $(DESTDIR)$(mandir)/man3/pcap_list_tstamp_types.3pcap \
+-               $(DESTDIR)$(mandir)/man3/pcap_free_tstamp_types.3pcap
 -      rm -f $(DESTDIR)$(mandir)/man3/pcap_dispatch.3pcap
 -      ln $(DESTDIR)$(mandir)/man3/pcap_loop.3pcap \
 -               $(DESTDIR)$(mandir)/man3/pcap_dispatch.3pcap
 -                  $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@/`echo $$i | sed 's/.manmisc.in/.@MAN_MISC_INFO@/'`; done
  
  install-shared: install-shared-$(DYEXT)
- install-shared-so: $(SHAREDLIB)
-@@ -642,23 +592,6 @@ uninstall: uninstall-shared
-               rm -f $(DESTDIR)$(includedir)/$$i; done
-       -rmdir $(DESTDIR)$(includedir)/pcap
-       rm -f $(DESTDIR)/$(bindir)/pcap-config
--      for i in $(MAN1); do \
--              rm -f $(DESTDIR)$(mandir)/man1/$$i; done
--      for i in $(MAN3PCAP); do \
--              rm -f $(DESTDIR)$(mandir)/man3/$$i; done
--      rm -f $(DESTDIR)$(mandir)/man3/pcap_datalink_val_to_description.3pcap
--      rm -f $(DESTDIR)$(mandir)/man3/pcap_dump_fopen.3pcap
--      rm -f $(DESTDIR)$(mandir)/man3/pcap_perror.3pcap
--      rm -f $(DESTDIR)$(mandir)/man3/pcap_sendpacket.3pcap
--      rm -f $(DESTDIR)$(mandir)/man3/pcap_dispatch.3pcap
--      rm -f $(DESTDIR)$(mandir)/man3/pcap_minor_version.3pcap
--      rm -f $(DESTDIR)$(mandir)/man3/pcap_next.3pcap
--      rm -f $(DESTDIR)$(mandir)/man3/pcap_fopen_offline.3pcap
--      rm -f $(DESTDIR)$(mandir)/man3/pcap_getnonblock.3pcap
--      for i in $(MANFILE); do \
--              rm -f $(DESTDIR)$(mandir)/man@MAN_FILE_FORMATS@/`echo $$i | sed 's/.manfile.in/.@MAN_FILE_FORMATS@/'`; done
--      for i in $(MANMISC); do \
--              rm -f $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@/`echo $$i | sed 's/.manmisc.in/.@MAN_MISC_INFO@/'`; done
- uninstall-shared: uninstall-shared-$(DYEXT)
- uninstall-shared-so:
+ install-shared-so: libpcap.so
index 892aeb7..fabbac7 100644 (file)
@@ -4,13 +4,13 @@
        char    *source;
        int     promisc;
        int     rfmon;
-+      int proto;      /* protocol for packet socket (linux) */
++      int     proto;      /* protocol for packet socket (linux) */
+       int     tstamp_type;
  };
  
- /*
 --- a/pcap-linux.c
 +++ b/pcap-linux.c
-@@ -335,7 +335,7 @@ static int iface_get_id(int fd, const ch
+@@ -363,7 +363,7 @@ static int iface_get_id(int fd, const ch
  static int    iface_get_mtu(int fd, const char *device, char *ebuf);
  static int    iface_get_arptype(int fd, const char *device, char *ebuf);
  #ifdef HAVE_PF_PACKET_SOCKETS
@@ -19,7 +19,7 @@
  #ifdef IW_MODE_MONITOR
  static int    has_wext(int sock_fd, const char *device, char *ebuf);
  #endif /* IW_MODE_MONITOR */
-@@ -881,7 +881,7 @@ pcap_can_set_rfmon_linux(pcap_t *handle)
+@@ -980,7 +980,7 @@ pcap_can_set_rfmon_linux(pcap_t *handle)
         * (We assume that if we have Wireless Extensions support
         * we also have PF_PACKET support.)
         */
@@ -28,7 +28,7 @@
        if (sock_fd == -1) {
                (void)snprintf(handle->errbuf, PCAP_ERRBUF_SIZE,
                    "socket: %s", pcap_strerror(errno));
-@@ -1128,6 +1128,9 @@ pcap_activate_linux(pcap_t *handle)
+@@ -1266,6 +1266,9 @@ pcap_activate_linux(pcap_t *handle)
        handle->read_op = pcap_read_linux;
        handle->stats_op = pcap_stats_linux;
  
@@ -38,7 +38,7 @@
        /*
         * The "any" device is a special device which causes us not
         * to bind to a particular device and thus to look at all
-@@ -2684,8 +2687,8 @@ activate_new(pcap_t *handle)
+@@ -2897,8 +2900,8 @@ activate_new(pcap_t *handle)
         * try a SOCK_RAW socket for the raw interface.
         */
        sock_fd = is_any_device ?
@@ -48,8 +48,8 @@
 +              socket(PF_PACKET, SOCK_RAW, handle->opt.proto);
  
        if (sock_fd == -1) {
-               snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "socket: %s",
-@@ -2783,7 +2786,7 @@ activate_new(pcap_t *handle)
+               if (errno == EINVAL || errno == EAFNOSUPPORT) {
+@@ -3015,7 +3018,7 @@ activate_new(pcap_t *handle)
                                return PCAP_ERROR;
                        }
                        sock_fd = socket(PF_PACKET, SOCK_DGRAM,
@@ -58,7 +58,7 @@
                        if (sock_fd == -1) {
                                snprintf(handle->errbuf, PCAP_ERRBUF_SIZE,
                                    "socket: %s", pcap_strerror(errno));
-@@ -2835,7 +2838,7 @@ activate_new(pcap_t *handle)
+@@ -3078,7 +3081,7 @@ activate_new(pcap_t *handle)
                }
  
                if ((err = iface_bind(sock_fd, handle->md.ifindex,
@@ -67,7 +67,7 @@
                        close(sock_fd);
                        if (err < 0)
                                return err;
-@@ -3640,7 +3643,7 @@ iface_get_id(int fd, const char *device,
+@@ -4149,7 +4152,7 @@ iface_get_id(int fd, const char *device,
   *  or a PCAP_ERROR_ value on a hard error.
   */
  static int
@@ -76,7 +76,7 @@
  {
        struct sockaddr_ll      sll;
        int                     err;
-@@ -3649,7 +3652,7 @@ iface_bind(int fd, int ifindex, char *eb
+@@ -4158,7 +4161,7 @@ iface_bind(int fd, int ifindex, char *eb
        memset(&sll, 0, sizeof(sll));
        sll.sll_family          = AF_PACKET;
        sll.sll_ifindex         = ifindex;
@@ -85,7 +85,7 @@
  
        if (bind(fd, (struct sockaddr *) &sll, sizeof(sll)) == -1) {
                if (errno == ENETDOWN) {
-@@ -4359,7 +4362,7 @@ activate_old(pcap_t *handle)
+@@ -5040,7 +5043,7 @@ activate_old(pcap_t *handle)
  
        /* Open the socket */
  
                         "socket: %s", pcap_strerror(errno));
 --- a/pcap.c
 +++ b/pcap.c
-@@ -258,6 +258,8 @@ pcap_create_common(const char *source, c
+@@ -309,6 +309,7 @@ pcap_create_common(const char *source, c
        pcap_set_snaplen(p, 65535);     /* max packet size */
        p->opt.promisc = 0;
        p->opt.buffer_size = 0;
 +      p->opt.proto = -1;
-+
+       p->opt.tstamp_type = -1;        /* default to not setting time stamp type */
        return (p);
  }
-@@ -317,6 +319,15 @@ pcap_set_buffer_size(pcap_t *p, int buff
-       return 0;
+@@ -405,6 +406,15 @@ pcap_set_buffer_size(pcap_t *p, int buff
  }
  
-+int
+ int
 +pcap_set_protocol(pcap_t *p, unsigned short proto)
 +{
 +      if (pcap_check_activated(p))
 +      return 0;
 +}
 +
- int
++int
  pcap_activate(pcap_t *p)
  {
+       int status;
 --- a/pcap/pcap.h
 +++ b/pcap/pcap.h
 @@ -68,6 +68,7 @@ extern "C" {
  
  /*
   * Compatibility for systems that have a bpf.h that
-@@ -276,6 +277,7 @@ int        pcap_can_set_rfmon(pcap_t *);
- int   pcap_set_rfmon(pcap_t *, int);
+@@ -280,6 +281,7 @@ int        pcap_set_rfmon(pcap_t *, int);
  int   pcap_set_timeout(pcap_t *, int);
+ int   pcap_set_tstamp_type(pcap_t *, int);
  int   pcap_set_buffer_size(pcap_t *, int);
 +int   pcap_set_protocol(pcap_t *, unsigned short);
  int   pcap_activate(pcap_t *);
  
pcap_t        *pcap_open_live(const char *, int, int, int, char *);
int   pcap_list_tstamp_types(pcap_t *, int **);