)]}'
{
  "log": [
    {
      "commit": "40c9f22210f2d22f45d4fb430c94f472d19407d6",
      "tree": "df633e4af23a8060aa3557d2910bdec16f717f06",
      "parents": [
        "f18e439d1035d059534d261c414af33f89aee89a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Aug 12 15:09:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:30 2008 -0700"
      },
      "message": "byteorder: add a new include/linux/swab.h to define byteswapping functions\n\nCollect the implementations from include/linux/byteorder/swab.h, swabb.h\nin swab.h\n\nThe functionality provided covers:\nu16 swab16(u16 val) - return a byteswapped 16 bit value\nu32 swab32(u32 val) - return a byteswapped 32 bit value\nu64 swab64(u64 val) - return a byteswapped 64 bit value\nu32 swahw32(u32 val) - return a wordswapped 32 bit value\nu32 swahb32(u32 val) - return a high/low byteswapped 32 bit value\n\nSimilar to above, but return swapped value from a naturally-aligned pointer\nu16 swab16p(u16 *p)\nu32 swab32p(u32 *p)\nu64 swab64p(u64 *p)\nu32 swahw32p(u32 *p)\nu32 swahb32p(u32 *p)\n\nSimilar to above, but swap the value in-place (in-situ)\nvoid swab16s(u16 *p)\nvoid swab32s(u32 *p)\nvoid swab64s(u64 *p)\nvoid swahw32s(u32 *p)\nvoid swahb32s(u32 *p)\n\nArches can override any of these with an optimized version by defining an\ninline in their asm/byteorder.h (example given for swab16()):\n\nu16 __arch_swab16() {}\n #define __arch_swab16 __arch_swab16\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
