)]}'
{
  "log": [
    {
      "commit": "dd6763a6c677687ad06727af037ed9a7b018c773",
      "tree": "51170c743639731a7e5a1a7540eb3f68870cb893",
      "parents": [
        "9df26193c8adc43a7ac1ba807e70d0b0772712c0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 04 16:35:13 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 04 16:35:13 2018 -0700"
      },
      "message": "Another round of documentation.\n\nBug: N/A\nTest: N/A\nChange-Id: I1b818fbb36ddd6d084dee56828290c2717a0c9b0\n"
    },
    {
      "commit": "e5a5eec5e588957aba2582ef25795bb3b573669f",
      "tree": "fda9d6bfc6e3273c90e94928f4a0f4514ac17758",
      "parents": [
        "92c6f7ee9014f434fbcce89ab894c745e36732d2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 12:29:06 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 27 12:29:06 2018 -0700"
      },
      "message": "\u003cnetinet/ip_icmp.h\u003e: ensure struct icmphdr is available.\n\nNeeded to build toybox ping.\n\nBug: N/A\nTest: ran tests\nChange-Id: Ifd0f0ccbb8351c6a0ece526b050778fd02e984bf\n"
    },
    {
      "commit": "64f355ffbd715a3c8b467c3b37701ad404b566b4",
      "tree": "04e1e9ddac688de976ae427ece327ee1c68afeb5",
      "parents": [
        "3ba327198a42eecd2fbc2556d7d0fa41f8d6b17b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 30 16:10:24 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 14 10:07:27 2017 -0800"
      },
      "message": "Use in_addr in ip_mreq_source and ip_msfilter.\n\nThis adds a new mechanism to say \"replace struct S with #include \u003cbits/S.h\u003e\".\n\nAlso switch epoll_event over to the new mechanism.\n\nAlso use the kernel\u0027s struct sockaddr_storage directly rather than behind\nan unnecessary #define.\n\nThis patch also removes some dead code in the header scrubber. This code\nstill needs rewriting completely. I learned that a \"block\" isn\u0027t necessarily\na single struct definition, say; it might be a run of them. It seems like\na block is a run of preprocessor directives or a run of regular code.\n\nBug: https://issuetracker.google.com/36987220\nTest: new test\nChange-Id: Ic6a5c09559766a4babe3cd4c3ea538b885e07308\n"
    },
    {
      "commit": "faa74342e3dc1fdb8832be9ad3a69c9f8fb749b9",
      "tree": "1c7819aa00942949400abca5c21a6e31fd72dec5",
      "parents": [
        "30438e4cea83628bcacbedff37a35398bb8b40e7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 11 17:34:44 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 11 17:45:59 2017 -0700"
      },
      "message": "Name function arguments in libc headers for Studio.\n\nFirst batch of headers...\n\nBug: http://b/64613623\nTest: builds\nChange-Id: I6bc3ad79daa635456b61d03b1f43f06c433ec596\n"
    },
    {
      "commit": "5bc78c8bcd0c1e634c04029309ede3ec05f2d424",
      "tree": "ba41f009cdf5fb27c766b4efe05c4cbb566d2a85",
      "parents": [
        "8945d5e43a25737f3f888a90742cc918b1124a05"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 16 11:35:43 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 16 16:55:42 2016 -0800"
      },
      "message": "Add and use constants for the Android API levels.\n\nTest: bionic tests still pass\nChange-Id: If1b619cfc9db1d3f5d91f14f2ace71058dca0c4a\n"
    },
    {
      "commit": "497127711a3446dc2d9cfa0aca152f8c703e3d9c",
      "tree": "80485dab3d26029ded0e543272f4f4a84b67235b",
      "parents": [
        "63da3dfb707536c444799d4c684cdfeab594243d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 18:53:01 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 16 18:53:34 2016 -0700"
      },
      "message": "Remove remaining big-endian cruft.\n\nWe\u0027d removed most of it already, but a few bits and pieces were still lying\naround.\n\nChange-Id: I572a23eb15b9670d8d0f95586eca99ab0bdb4a1b\nTest: mm.\n"
    },
    {
      "commit": "81b4aadb4857f351915b6fc215a73baacc90d22a",
      "tree": "4feafe9799203ca6d472d20bb8488bf40f0a6857",
      "parents": [
        "cb728e6f63e90405223e2a72f119967368f78b7a"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 15 13:57:19 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 15 14:21:28 2016 -0700"
      },
      "message": "Fix BYTE_ORDER check in \u003cnetinet/ip6.h\u003e.\n\nNeither BYTE_ORDER nor BIG_ENDIAN were being defined anywhere, so they\nwere defaulting to zero, leading to BIG_ENDIAN values being used.\n\nBug: http://b/31496165\nChange-Id: Ic6089895f39b86e7762bdb5b7d5b01feb0d2fd17\n"
    },
    {
      "commit": "69b26542de22a0eca05d3b9863d196f3edd7949c",
      "tree": "baea4578cd89214dbcf2b25c3cd07b3df52e9b36",
      "parents": [
        "11f0e10c4911e39733145194ee78bb65d684fff4"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 16:09:22 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 08 16:13:28 2016 -0700"
      },
      "message": "Provide static inlines for in6addr things.\n\nmdnsresponder needs these and is built against a very old API level\nsince it is used in gmscore. The legacy NDK headers defined these\ninline.\n\nTest: make checkbuild\nBug: http://b/30465923\nChange-Id: I92cd0116b3bde47e748ba648eaba94a7a3e3523e\n"
    },
    {
      "commit": "e43778880e622bd4a8ed6fa5a21a35f84d43db09",
      "tree": "40b98e92bfad370be69155107473c98c13bd1f32",
      "parents": [
        "166f875eabdd2b7c508fc4ed1789a0d37fb1bdce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 10:38:35 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 10:38:35 2016 -0700"
      },
      "message": "POSIX says IPPORT_RESERVED is in \u003cnetdb.h\u003e.\n\nIn \u003cnetdb.h\u003e:\n\nhttp://pubs.opengroup.org/onlinepubs/9699919799/basedefs/netdb.h.html\n\nNot in \u003cnetinet/in.h\u003e:\n\nhttp://pubs.opengroup.org/onlinepubs/9699919799/basedefs/netinet_in.h.html\n\nChange-Id: Ie34cdb80eeb1443cf292944f3c68d8383aee2295\n"
    },
    {
      "commit": "203e13d97de840e01eded6a267fef9f245cf3a15",
      "tree": "83517885755d8c28f7f6934bff67f7ad36addf39",
      "parents": [
        "767e8147d7f38bd9a23100ec9fa07b6a14a8b680"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 14:56:18 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 17:01:54 2016 -0700"
      },
      "message": "Always include \u003csys/cdefs.h\u003e.\n\nI made a mistake caught by code review earlier, so let\u0027s try to be\nsafer by default.\n\nThis patch also moves all our \"forwarding\" headers to the guardless\njust-include-the-other-thing style that we usually use. (Where we\nhave a comment explaining where the header comes from, I\u0027ve kept\nthat.)\n\nChange-Id: I37342cf5e2563c6a269b2ba61a697069b1c7913b\n"
    },
    {
      "commit": "5470c183611737af5ec954984e4bdb5da8c99b73",
      "tree": "945f64e45be1c14ea0a6c75f6611555ef2b706ae",
      "parents": [
        "237366867a4fbd8c2fed74512ca26d2ce3b39b82"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 11:36:17 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 13:12:53 2016 -0700"
      },
      "message": "Make it possible to build bionic with -I instead of -isystem.\n\nVarious things:\n\n* work around -Wnullability-completeness.\n* use C++ casts in C++ and C casts in C.\n* stop using attributes clang doesn\u0027t support (such as `warning`).\n* remove duplicate definitions of XATTR_CREATE and XATTR_REPLACE.\n\nChange-Id: I07649e46275b28a23ca477deea119fe843999533\n"
    },
    {
      "commit": "cb8ef17b07db1048777eebd92782edf1ecea1b36",
      "tree": "799878b840c9a94420e07ccf79167637d4e05be4",
      "parents": [
        "20fc6ecf90ea76b5a668a6007a33fb30a837d2fd",
        "f021061a2369ad80e4c84b8da90c1e492457c7af"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 16 21:59:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 16 21:59:50 2016 +0000"
      },
      "message": "Merge \"Fix \u003cresolv.h\u003e and \u003cnetinet/tcp.h\u003e so dnscap builds.\""
    },
    {
      "commit": "f021061a2369ad80e4c84b8da90c1e492457c7af",
      "tree": "623f79841044e085532d48c2b420f2ad5bf8b832",
      "parents": [
        "e79b630daa1c1be9f83b19df824f2b5a0de966a4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 16 13:26:25 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 16 14:03:43 2016 -0700"
      },
      "message": "Fix \u003cresolv.h\u003e and \u003cnetinet/tcp.h\u003e so dnscap builds.\n\nSome guy on the internet complained that dnscap doesn\u0027t build out of the box.\nNow it does.\n\nBug: http://b/27839637\nChange-Id: I8c4f22d3c3f8885a6fe06029d89ef68a15931027\n"
    },
    {
      "commit": "c6190a98394a099764d24051a212f45689a9daef",
      "tree": "3df18a5e7025297af37c3862ff177e3258632fc4",
      "parents": [
        "e79b630daa1c1be9f83b19df824f2b5a0de966a4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 16 13:24:31 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 16 13:24:31 2016 -0700"
      },
      "message": "We have the _r ether_ntoa/ether_aton functions too.\n\nWe\u0027ve also had them since H, not L.\n\nChange-Id: Iee7633ea97a0ee9a00bf7b62ead315acf02a3c8e\n"
    },
    {
      "commit": "f6324d540a54aac8b757fea4d925bc6537d6790c",
      "tree": "37b39d8a9b5e025c8a81c814bbeb2edcedb61b88",
      "parents": [
        "56469e8de225bdd16e6f0fa887ce65294bfb9ed1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 12 13:11:28 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 13 11:00:22 2016 -0700"
      },
      "message": "Fix our *ether* headers mess.\n\nMove everything to where it should be.\n\nAlong the way, we lose \u003cnet/ethertypes.h\u003e. glibc only has a handful of these\ntypes, and they\u0027re all in \u003cnet/ethernet.h\u003e, not \u003cnet/ethertypes.h\u003e. I\u0027ve taken\nthe liberty of not including the AppleTalk ones, since it is 2016.\n\nAlso, \u003cnet/if_ether.h\u003e should be \u003cnetinet/if_ether.h\u003e (though with different\ncontents).\n\nBug: http://b/28519060\nChange-Id: Ia41c3fc136fd3e6b008c8d08018e0629134ea6fc\n"
    },
    {
      "commit": "12f35419ce0607989f170cb08cd6cd44387fc35c",
      "tree": "be43b148d407b2f80c30b64558cc37cc35bd0c09",
      "parents": [
        "366164da10a0883ffbb5267cf619bcecbf92315d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 10 17:32:48 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 10 17:32:48 2016 -0700"
      },
      "message": "Remove various bits of header cruft.\n\nMostly BSD _KERNEL stuff.\n\nChange-Id: Ic0a6914437d0c831a83588a435079d0c719fcbdf\n"
    },
    {
      "commit": "14adff1cfa06a3d4d3281a9bf7848b556d84c20d",
      "tree": "ce1fb2867f69e49f57d0bbe8a9099b09beda0c19",
      "parents": [
        "5a3d5cac642f9e58b2c510eab23789fb4fc3a753"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 12:00:55 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 16:39:50 2016 -0700"
      },
      "message": "Add versioning information to symbols.\n\nBug: http://b/28178111\nChange-Id: I46bf95accd819f4521afb1173d8badcc5e9df31c\n"
    },
    {
      "commit": "ef7c95b8ab96897db09faec974c2547305887cbe",
      "tree": "c003d3380567dd9af462762f3966d57ef570be60",
      "parents": [
        "70856fb6ecc6c2d33e8de34df1502f7fad15aa62"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 11:16:35 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 07 11:16:35 2016 -0700"
      },
      "message": "Make the network headers compile standalone.\n\nBug: http://b/28067717\nChange-Id: I0f69c6cba0eb0df2fe68f458ba5aa81fe8e6434c\n"
    },
    {
      "commit": "7dac8b8aabadbf2dcff20d3646e701728ba3777d",
      "tree": "bf5889601dc253dd00c736d1460e6cd1f324b322",
      "parents": [
        "2de48bc809bba48a7f209e209b3822bad010166f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 17 14:19:48 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 17 14:38:09 2016 -0800"
      },
      "message": "Fix scope ids for link-local IPv6 addresses from getifaddrs(3).\n\nBug: http://b/27219454\nChange-Id: I7a166ff5553565f7afdab18dd2c703af4d475ab4\n"
    },
    {
      "commit": "0c485dae707fac45f5d8baff7da1a469e25c2261",
      "tree": "a7d6b4ba2311bd0f42c3dd487667f5bf4baadca3",
      "parents": [
        "5da33dd67350fcb7c12a57027b1af5f4e72a9c21"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 14:13:52 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 14:13:52 2016 -0800"
      },
      "message": "Add in6addr_any and in6addr_loopback symbols.\n\nChange-Id: I3a90fa448b6bd43321672ba74b84a4e9e8a67738\n"
    },
    {
      "commit": "f8a2243ebeb3ce60e412cd7b71b31c7b31313d58",
      "tree": "c6c9bd55b48e97caebf60b5875544cdcce7f5755",
      "parents": [
        "1399759118f50071d499f88b18828e36aa2bad00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 12:34:13 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 12:34:13 2015 -0700"
      },
      "message": "\u003cnetinet/udp.h\u003e should include \u003clinux/udp.h\u003e.\n\nThe comment about \"other stuff\" referred to pre-uapi headers. Everything\nin the current \u003clinux/udp.h\u003e should be exposed to userspace. The only\nproblem is that BSD and Linux use different names for the members of\nstruct udphdr. We can move the Linux udphdr out of the way and use an\nanonymous union to get the best of both worlds. (Though unfortunately\nthis means that code that includes \u003clinux/udp.h\u003e directly instead of\nusing \u003cnetinet/udp.h\u003e now won\u0027t have any definition of struct udphdr.\nWe\u0027ve taken the stance in the past that you shouldn\u0027t include a linux/\nheader if there\u0027s a standard equivalent --- you should rely on us\ntransitively including it for you.)\n\nChange-Id: Ie625892441b0edd8df3b76d3fcf2cbe299077bc4\n"
    },
    {
      "commit": "35d226e05d92824c6eb992e7a64ea22efc8bae03",
      "tree": "32a4a9fb33b86fdd69ed2db974e9c8bf2cc747af",
      "parents": [
        "6f4220c49e90b18a50d36e47cc9287c7593af939"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 12:43:50 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 12:43:50 2014 -0700"
      },
      "message": "Add in_port_t and move it and in_addr_t to the correct header file.\n\nNo one\u0027s reported this, but I saw it in an Android port of fuser(1).\n\nWe still have lots of problems in our network headers because we\nget most of the structs direct from the kernel, and it doesn\u0027t use\ntypes like this (which is why we\u0027ve got away without this one for\nso long). One day we should probably look at cleaning that up, but\ndoing so can wait.\n\nChange-Id: If15edf0cfc32716fa312d7ed97c48321b760d979\n"
    },
    {
      "commit": "338e6102a60a33661812753f03f1d426ab1a7fe1",
      "tree": "4abbe89d2567f41188275f2ae2079b98f7166139",
      "parents": [
        "c1c3f7d4468f02adbf8ced689d738386e42af773"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 03 15:58:40 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 03 15:58:40 2014 -0800"
      },
      "message": "Add TCPOPT_* constants.\n\nAdds the TCPOPT_* constants from NetBSD. Note that the BSDs also have\nTCPOPT_SIGNATURE, but Linux calls that TCPOPT_MD5SIG and glibc doesn\u0027t\nhave any corresponding constant yet, so let\u0027s wait until we see which name\nwins out.\n\nChange-Id: If53cdada5595285d9a7e7248ef74cd7502d804c0\n"
    },
    {
      "commit": "0dff43cab41e4a0bd5bd018584952c68cb224977",
      "tree": "f5068798730b58d84acf09b5bbbaface9cea8f63",
      "parents": [
        "d30877ae28f3c308edf142c091b3a8acc4467c6d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 11 16:21:32 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 11 16:21:32 2013 -0700"
      },
      "message": "Add TCP_INFO state enum values.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d38881\nChange-Id: Ie22816c666474e6441e0ec3afd2a6eb04d64a673\n"
    },
    {
      "commit": "c2cd33efc4b53495db90ecd2cb9fee698b827aa8",
      "tree": "1b95046c53f960616fe3d058c738ba6631e6ec5f",
      "parents": [
        "ff145277da9b7fe3d48a27839fc1d6f2ed11604b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 08 15:05:50 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 08 15:07:41 2013 -0700"
      },
      "message": "Remove \u003cnetinet/icmp6.h\u003e ni_* macros.\n\nglibc doesn\u0027t have these, and they prevent ping from building out of\nthe box because it assumes it can define them.\n\nBug: 9671560\nChange-Id: I815f2a9c4fd96a0ea2952eb5a71ddf51e0763660\n"
    },
    {
      "commit": "3a040d8379a3b1f9731ae93e1a7118c589f1936e",
      "tree": "7f5362c9ff0ce8ff6defae18c99a547433b25153",
      "parents": [
        "6b33f31b0994b8132bed8936685522e2e01754d8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 08 11:16:24 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 08 11:16:24 2013 -0700"
      },
      "message": "Make bionic\u0027s \u003cnetinet/icmp6.h\u003e standalone, like glibc\u0027s.\n\nThis removes the need for a bionic-specific hack in external/iproute2.\n\nBug: 9671560\nChange-Id: I9f15be0711d26bca863bd66be9a39606500fb948\n"
    },
    {
      "commit": "bfc6a59556fc83875f7f3bd6dc5bb139a94df432",
      "tree": "378f2d967eaf2b075ab3ca1f7fc997e4c9364523",
      "parents": [
        "e63ea6aca7d01ba9219b877ed5fab6de5c6037fb"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jul 03 15:42:06 2013 +0900"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 08 10:31:29 2013 -0700"
      },
      "message": "Fix IPv6 filtering definitions in netinet/icmp6.h.\n\nLinux and *BSD kernels use opposite values to indicate pass/block\nin ICMPv6 filters, and assign a different value to the\nICMP6_FILTER sockopt.\n\nBug: 9671560\nBug: 9469682\nChange-Id: Ic0f1fcd48891add992acf97632f60aebd172c1d7\n"
    },
    {
      "commit": "ce7c404dc7d1d6a3cab9105fdb2a7e2610b43bfc",
      "tree": "56cfbb80a207f2af717277e2403d7ae23ab22d2b",
      "parents": [
        "7c14d67bc1cc2679365a784e68518bf602b81dc7"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jul 01 17:07:03 2013 +0900"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 02 09:38:59 2013 -0700"
      },
      "message": "Update icmp6.h to current NetBSD.\n\nThis adds a few bits we need such as RFC 6106 support and the\ndefinition of MLD_LISTENER_REDUCTION.\n\nhttp://cvsweb.netbsd.org/bsdweb.cgi/src/sys/netinet/icmp6.h?rev\u003d1.47\n\nBug: 9469682\nChange-Id: I97a4c2f0893012ce315334367c055097d0f8bb10\n"
    },
    {
      "commit": "36fa67bcdd90f18a3c68f8637ae836762407fa51",
      "tree": "67c47601c9dd09bf8fc97d15e872c264752477da",
      "parents": [
        "c5bfb62433751579e86d5fd24cddf3ae28a49b43"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 05 17:51:20 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 05 17:58:08 2013 -0700"
      },
      "message": "Ensure header files using __BEGIN_DECLS include sys/cdefs.h.\n\nWe keep fixing these one-by-one; let\u0027s fix them all at once.\n\nFound thus:\n\n  find . -name *.h | xargs grep -L sys/cdefs.h | xargs grep -l BEGIN_DECL | xargs grep -L sys/types\n\nChange-Id: I188842aa2484dc6176e96556d57c38a0f785b59b\n"
    },
    {
      "commit": "86ec05acc9df3098c4e99e5b3ad85dcef66712c7",
      "tree": "722c7b99116ebf1af2032b2daf9e3c428386a65d",
      "parents": [
        "666d06fee9e1d2e1401a4b42d94d01e8f38ad1a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 11 19:03:02 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 12 12:30:22 2012 -0700"
      },
      "message": "Update the kernel headers to match external/kernel-headers.\n\nNote that the Linux kernel handed over responsibility for most of the\nsocket constants to glibc some time ago. Someone had updated our\nexternal/kernel-headers file but not regenerated the bionic headers,\nso this change copies the missing stuff from the old bionic \u003clinux/socket.h\u003e\ninto \u003csys/socket.h\u003e. This is what glibc does.\n\nI\u0027ve hacked a few of the other files to #include \u003csys/socket.h\u003e for\nbackward compatibility, but even so this requires numerous other\nchanges to switch people over from direct inclusion of \u003clinux/...\u003e headers.\n\nChange-Id: I0e4af64e631d3cef911a31d90f2f806e058278a0\n"
    },
    {
      "commit": "f8d02d24edd23dfb5028881105828cbf15e59310",
      "tree": "cdee1fb5572d890d7886fc4c63986efdb5616679",
      "parents": [
        "b609bfd0487291eff01876d4a25f2c7c13d49d03"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed May 18 16:53:23 2011 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed May 18 16:53:23 2011 -0700"
      },
      "message": "libc: enable IPTOS_MINCOST, fixup gethostbyaddr() proto.\n\nMake netinet/ip.h have IPTOS_MINCOST which matches what\n  kernel/common/linux/ip.h has to say.\nFixup gethostbyaddr() 1st arg to match what man has to say.\n\nChange-Id: Iff9647d4a46ea88b1fc32163eb69bb9b27cdf370\n"
    },
    {
      "commit": "6846a45882f4e099f422d1455eab3a94d4c69795",
      "tree": "f53e61d575a1b4e598fcd865db1327e74cbc9976",
      "parents": [
        "bdca379412d5e19058115b9c5b4de2dc6f0c4099"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Thu Jan 20 01:31:36 2011 +0100"
      },
      "committer": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Fri Jan 28 18:28:27 2011 +0100"
      },
      "message": "Add icmp6.h and ip6.h files from current NetBSD libc.\n\nChange-Id: I6b304dfbefaec74c5fb15b216f38d698a55f0642\n"
    },
    {
      "commit": "bdca379412d5e19058115b9c5b4de2dc6f0c4099",
      "tree": "53fcf7c12f5e9b868d01f190a52d2e56713372f8",
      "parents": [
        "3de032169071cf6588edceefa686616cdf485320"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Thu Jan 20 00:25:22 2011 +0100"
      },
      "committer": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Fri Jan 28 18:28:27 2011 +0100"
      },
      "message": "Include the Linux ipv6.h header from netinet/in.h, to get things like in6_pktinfo.\n\nChange-Id: I4a3c2035ff8e2846352345580756a1bdc2768ec4\n"
    },
    {
      "commit": "3de032169071cf6588edceefa686616cdf485320",
      "tree": "df07da82db52078f80cfd0882d2c1c0e989acc86",
      "parents": [
        "0688023af7df00e105ca1fb4f94c64d0432cc89c"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Thu Jan 20 00:21:46 2011 +0100"
      },
      "committer": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Fri Jan 28 18:28:19 2011 +0100"
      },
      "message": "Add IN6ADDR_LOOPBACK_INIT macro to \u003cnetinet/in6.h\u003e, as the kernel headers do not provide it anymore.\n\nChange-Id: I5af12b3f38097ed165e64a408253dc375aa605d7\n"
    },
    {
      "commit": "64b6c43379dba176659bc1313b6bb488ac94cfd6",
      "tree": "0144bb9ce62e5ca658adb1fc39d83ecf88a18595",
      "parents": [
        "72a23d056099e7aff56d4509f3e6c9284a42363a"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Mon Dec 20 11:33:31 2010 +0100"
      },
      "committer": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Wed Jan 05 13:55:40 2011 +0100"
      },
      "message": "Add a new #define IN6_IS_ADDR_ULA, for testing for Universal Local IPv6 Unicast addresses (ULAs). These replace the old site-local IPv6 addresses.\n\nChange-Id: I2656423764569d07b92b8eb8fe6dcad6eba5b0bb\n"
    },
    {
      "commit": "d4a65d28d4dd7dab4ad66d2d65903296d183d47c",
      "tree": "9155789bade8e2bc53b6d87ea14741a29d0178f4",
      "parents": [
        "95d751feacdb58d3fbc36f3f21a895a3ec2f065b"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 16 14:35:53 2010 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 16 20:53:03 2010 +0100"
      },
      "message": "libc: Add missing declarations in \u003cnetinet/in.h\u003e\n\nAdd missing declarations:\n  INET_ADDRSTRLEN\n  IN6_IS_ADDR_MC_NODELOCAL\n  IN6_IS_ADDR_MC_GLOBAL\n\nIt has been reported that these prevent compilation of the Boost libraries\nwith the NDK. The corresponding patch has already been performed under\ndevelopment/ndk/platforms/android-3/include.\n\nChange-Id: I4ac514973daf3c06a8ef5538d7df79142a98e562\n"
    },
    {
      "commit": "c52c174e412fa6c829cf6353ce8dbebdf710511f",
      "tree": "0a45a8dbd770b3a7222ff24105cff47ec0b1f978",
      "parents": [
        "040ae31701ea2583225b5ff9cc5b91de2719f7e8"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jun 11 19:33:45 2009 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jun 16 18:55:37 2009 -0700"
      },
      "message": "Make IPv6 definitions comply with RFC 3493:\n - Add some definitions to netinet/in6.h\n - Include netinet/in6.h from netinet/in.h\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "4e468ed2eb86a2406e14f1eca82072ee501d05fd",
      "tree": "4e05b3c66eef86531e464521a3bf96a1864d4bf5",
      "parents": [
        "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
