)]}'
{
  "commit": "6f23ee1fefdc1f80bd8a3ab04a1c41ab2dec14c9",
  "tree": "36a5241c29333580de3e3c75e2c62edc1cdf583c",
  "parents": [
    "a8ef36bc0a5fe973bddaa54a5a07cda29e04a602"
  ],
  "author": {
    "name": "Pete Zaitcev",
    "email": "zaitcev@redhat.com",
    "time": "Sat Dec 30 22:43:10 2006 -0800"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Wed Feb 07 15:44:34 2007 -0800"
  },
  "message": "USB: add binary API to usbmon\n\nThis patch adds a new, \"binary\" API in addition to the old, text API usbmon\nhad before. The new API allows for less CPU use, and it allows to capture\nall data from a packet where old API only captured 32 bytes at most. There\nare some limitations and conditions to this, e.g. in case someone constructs\na URB with 1GB of data, it\u0027s not likely to be captured, because even the\nhuge buffers of the new reader are finite. Nonetheless, I expect this new\ncapability to capture all data for all real life scenarios.\n\nThe downside is, a special user mode application is required where cat(1)\nworked before. I have sample code at http://people.redhat.com/zaitcev/linux/\nand Paolo Abeni is working on patching libpcap.\n\nThis patch was initially written by Paolo and later I tweaked it, and\nwe had a little back-and-forth. So this is a jointly authored patch, but\nI am submitting this I am responsible for the bugs.\n\nSigned-off-by: Paolo Abeni \u003cpaolo.abeni@email.it\u003e\nSigned-off-by: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e65ec828d7aa226f1fb8365c48afadb225dae79e",
      "old_mode": 33188,
      "old_path": "Documentation/usb/usbmon.txt",
      "new_id": "0f6808abd61206e37767ff6f95505292eff4d24a",
      "new_mode": 33188,
      "new_path": "Documentation/usb/usbmon.txt"
    },
    {
      "type": "modify",
      "old_id": "3cf3ea3a88edaa5f256e5946846bd0c7a20fd3bc",
      "old_mode": 33188,
      "old_path": "drivers/usb/mon/Makefile",
      "new_id": "90c59535778d7c39218c602c1536c7e3e047a278",
      "new_mode": 33188,
      "new_path": "drivers/usb/mon/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c01dfe603672987cfe6f5038fbdb59993fe2776b",
      "new_mode": 33188,
      "new_path": "drivers/usb/mon/mon_bin.c"
    },
    {
      "type": "modify",
      "old_id": "ddcfc01e77a022918940d725986ff0061591f6cb",
      "old_mode": 33188,
      "old_path": "drivers/usb/mon/mon_dma.c",
      "new_id": "140cc80bd2b1d085fe438663237be4cfd16ba124",
      "new_mode": 33188,
      "new_path": "drivers/usb/mon/mon_dma.c"
    },
    {
      "type": "modify",
      "old_id": "394bbf2f68d44f0b81807773be8a12e992fb690c",
      "old_mode": 33188,
      "old_path": "drivers/usb/mon/mon_main.c",
      "new_id": "c9739e7b35e53eb112ffbc16e0c6263512a69aa5",
      "new_mode": 33188,
      "new_path": "drivers/usb/mon/mon_main.c"
    },
    {
      "type": "modify",
      "old_id": "05cf2c9a8f84c3fbb42ffaaabf971d8bd2a526ea",
      "old_mode": 33188,
      "old_path": "drivers/usb/mon/mon_text.c",
      "new_id": "d38a1279d9d9b071c0a9ddf0b078f094bf80a627",
      "new_mode": 33188,
      "new_path": "drivers/usb/mon/mon_text.c"
    },
    {
      "type": "modify",
      "old_id": "ab9d02d5df77a448c0c829c42b5b3633fbdfc054",
      "old_mode": 33188,
      "old_path": "drivers/usb/mon/usb_mon.h",
      "new_id": "4f949ce8a7f3b1c9617684e0e8919944827b526c",
      "new_mode": 33188,
      "new_path": "drivers/usb/mon/usb_mon.h"
    }
  ]
}
