]> The Tcpdump Group git mirrors - libpcap/blobdiff - pcap-netmap.c
In the open request, reject capture sources that are URLs.
[libpcap] / pcap-netmap.c
index 245c8eaaa8b70b136a5236c20389853588e541d2..3613a756a5b81c45d20af11255a5e97448a41006 100644 (file)
@@ -29,7 +29,6 @@
 #endif
 
 #include <poll.h>
-#include <ctype.h>
 #include <errno.h>
 #include <netdb.h>
 #include <stdio.h>
@@ -67,7 +66,7 @@ pcap_netmap_stats(pcap_t *p, struct pcap_stat *ps)
 {
        struct pcap_netmap *pn = p->priv;
 
-       ps->ps_recv = pn->rx_pkts;
+       ps->ps_recv = (u_int)pn->rx_pkts;
        ps->ps_drop = 0;
        ps->ps_ifdrop = 0;
        return 0;
@@ -82,7 +81,7 @@ pcap_netmap_filter(u_char *arg, struct pcap_pkthdr *h, const u_char *buf)
        const struct bpf_insn *pc = p->fcode.bf_insns;
 
        ++pn->rx_pkts;
-       if (pc == NULL || bpf_filter(pc, buf, h->len, h->caplen))
+       if (pc == NULL || pcap_filter(pc, buf, h->len, h->caplen))
                pn->cb(pn->cb_arg, h, buf);
 }
 
@@ -117,7 +116,7 @@ pcap_netmap_dispatch(pcap_t *p, int cnt, pcap_handler cb, u_char *user)
 
 /* XXX need to check the NIOCTXSYNC/poll */
 static int
-pcap_netmap_inject(pcap_t *p, const void *buf, size_t size)
+pcap_netmap_inject(pcap_t *p, const void *buf, int size)
 {
        struct pcap_netmap *pn = p->priv;
        struct nm_desc *d = pn->d;
@@ -236,10 +235,11 @@ pcap_netmap_activate(pcap_t *p)
                pcap_cleanup_live_common(p);
                return (PCAP_ERROR);
        }
-       if (0)
-           fprintf(stderr, "%s device %s priv %p fd %d ports %d..%d\n",
-               __FUNCTION__, p->opt.device, d, d->fd,
-               d->first_rx_ring, d->last_rx_ring);
+#if 0
+       fprintf(stderr, "%s device %s priv %p fd %d ports %d..%d\n",
+           __FUNCTION__, p->opt.device, d, d->fd,
+           d->first_rx_ring, d->last_rx_ring);
+#endif
        pn->d = d;
        p->fd = d->fd;
 
@@ -265,7 +265,7 @@ pcap_netmap_activate(pcap_t *p)
        p->linktype = DLT_EN10MB;
        p->selectable_fd = p->fd;
        p->read_op = pcap_netmap_dispatch;
-       p->inject_op = pcap_netmap_inject,
+       p->inject_op = pcap_netmap_inject;
        p->setfilter_op = install_bpf_program;
        p->setdirection_op = NULL;
        p->set_datalink_op = NULL;