"Yoann Vandoorselaere" <[EMAIL PROTECTED]> said:
> here is a patch I made to libpcap, permitting zero copy by allowing the
> calling application to specify it's own allocation/freeing function for
> the packet buffer, and the pcap header.
I didn't see any patch for pcap-win32.c, but not sure it's possible with
a zero-copy here. Except maybe using shared memory or overlapped
I/O.
> This patch was done in a way that it won't break the existing libpcap
> API (except for the pcap_next function, but I could simply remove the
I agree that many args should be 'const'ed, but your patch will break e.g.
Ethereal that binds to libpcap functions via dynamic lib-loading and function-
pointers.
--- libpcap-0.7.2/pcap-int.h 2001-08-24 09:46:52.000000000 +0200
+++ libpcap/pcap-int.h 2003-10-05 23:30:22.000000000 +0200
@@ -117,6 +117,23 @@ struct pcap_timeval {
bpf_int32 tv_usec; /* microseconds */
};
+
+ struct buffer_head {
+ int refcount;
+ unsigned char buf[0];
+ };
+
Not all compilers support zero-sized arrays.
--gv
-
This is the TCPDUMP workers list. It is archived at
http://www.tcpdump.org/lists/workers/index.html
To unsubscribe use mailto:[EMAIL PROTECTED]