USB: add binary API to usbmon
authorPete Zaitcev <zaitcev@redhat.com>
Sun, 31 Dec 2006 06:43:10 +0000 (22:43 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 7 Feb 2007 23:44:34 +0000 (15:44 -0800)
commit6f23ee1fefdc1f80bd8a3ab04a1c41ab2dec14c9
tree36a5241c29333580de3e3c75e2c62edc1cdf583c
parenta8ef36bc0a5fe973bddaa54a5a07cda29e04a602
USB: add binary API to usbmon

This patch adds a new, "binary" API in addition to the old, text API usbmon
had before. The new API allows for less CPU use, and it allows to capture
all data from a packet where old API only captured 32 bytes at most. There
are some limitations and conditions to this, e.g. in case someone constructs
a URB with 1GB of data, it's not likely to be captured, because even the
huge buffers of the new reader are finite. Nonetheless, I expect this new
capability to capture all data for all real life scenarios.

The downside is, a special user mode application is required where cat(1)
worked before. I have sample code at http://people.redhat.com/zaitcev/linux/
and Paolo Abeni is working on patching libpcap.

This patch was initially written by Paolo and later I tweaked it, and
we had a little back-and-forth. So this is a jointly authored patch, but
I am submitting this I am responsible for the bugs.

Signed-off-by: Paolo Abeni <paolo.abeni@email.it>
Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Documentation/usb/usbmon.txt
drivers/usb/mon/Makefile
drivers/usb/mon/mon_bin.c [new file with mode: 0644]
drivers/usb/mon/mon_dma.c
drivers/usb/mon/mon_main.c
drivers/usb/mon/mon_text.c
drivers/usb/mon/usb_mon.h