)]}'
{
  "log": [
    {
      "commit": "95c6cd753f028b1afc0c6a800a3dd6bd85a5a6a0",
      "tree": "3d785e53e88c0b5864a8129c7b13e31f5d0e9caf",
      "parents": [
        "508d270886e90fac23ce51f81864d009307f13ae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 13:26:14 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 13:26:14 2019 -0800"
      },
      "message": "Stop using the __ANDROID_API_x__ constants.\n\nHistorically we\u0027ve made a few mistakes where they haven\u0027t matched the\nright number. And most non-Googlers are much more familiar with the\nnumbers, so it seems to make sense to rely more on them. Especially in\nheader files, which we actually expect real people to have to read from\ntime to time.\n\nTest: treehugger\nChange-Id: I0d4a97454ee108de1d32f21df285315c5488d886\n"
    },
    {
      "commit": "5905d6f8797056ca4178d42bf1220b6692e557a5",
      "tree": "222848ae0ced32fcf2028a2c6502b4a763c83830",
      "parents": [
        "d435d256da57fdf4278b3198720d881f3edcf452"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 15:09:51 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 18:47:16 2018 -0800"
      },
      "message": "Add `sigset64_t` and accompanying functions.\n\nThis doesn\u0027t address `struct sigaction` and `sigaction`. That will\ncome later.\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I4134346757ce3a4dac6feae413361cec16223386\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": "ff26a16c1de7be696719e9001f0707b7c55b52cf",
      "tree": "1f2667df4a1ed2dd79cb53a6231cb88d3d9ade13",
      "parents": [
        "9af9120091ceb96641d7c6c645fabad96db4bc0d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 17 22:34:21 2017 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 18 00:00:38 2017 +0000"
      },
      "message": "Re-submit \"Name function arguments in libc headers for Studio.\"\n\nThis reverts commit 9af9120091ceb96641d7c6c645fabad96db4bc0d (a revert\nof 079bff4fa52b0c3c76057451cc9cdecf1827fce0), now the versioner bug is\nfixed.\n\nBug: http://b/64613623 # header bug\nBug: http://b/64802958 # versioner bug\nChange-Id: I1cb9d7832d4b3aecdc57a9285e2291443e59d02d\n"
    },
    {
      "commit": "9af9120091ceb96641d7c6c645fabad96db4bc0d",
      "tree": "0ac35e33169ae9b07c075a3c623148d2e974d14f",
      "parents": [
        "079bff4fa52b0c3c76057451cc9cdecf1827fce0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 17 18:29:54 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 17 18:29:54 2017 +0000"
      },
      "message": "Revert \"Name function arguments in libc headers for Studio.\"\n\nThis reverts commit 079bff4fa52b0c3c76057451cc9cdecf1827fce0.\n\nBroke builds with SANITIZE_HOST\u003daddress with an asan failure in versioner.\n\nChange-Id: I22b113fd5405589d1a25e5e137c450aaba1ade5f\n"
    },
    {
      "commit": "079bff4fa52b0c3c76057451cc9cdecf1827fce0",
      "tree": "1f2667df4a1ed2dd79cb53a6231cb88d3d9ade13",
      "parents": [
        "67e7bf137e00a6c9ef79396e40be6b1705a2758c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 16 16:30:54 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 16 16:30:54 2017 -0700"
      },
      "message": "Name function arguments in libc headers for Studio.\n\nSecond batch of headers...\n\nBug: http://b/64613623\nTest: builds\nChange-Id: I8eef043dbf32afee8ff814e9d005f46aee8fa21f\n"
    },
    {
      "commit": "f54fa4e585f8bcb9748992614973e5709ee3bba7",
      "tree": "2b022736bcb9190d716c003425cd8e98bdd9f729",
      "parents": [
        "38bcf2b704eb5038668759d2dd37115aea1dc437"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 27 15:14:52 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 27 15:14:52 2017 -0700"
      },
      "message": "Remove workaround in \u003csys/epoll.h\u003e.\n\nLinux 4.12 has a better fix: https://lkml.org/lkml/2017/2/23/416 and\nhttps://lkml.org/lkml/2017/2/23/417.\n\nBug: N/A\nTest: builds\nChange-Id: I9cbf0c60817332142c48297899062f1a25f2b082\n"
    },
    {
      "commit": "cdfface662306d20cfaa4abe046eb85794201d6c",
      "tree": "572aa51504a38f486cddde87d54bf2013e894b98",
      "parents": [
        "f06535035ef6e48aeacc37819ea7182416275216"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon May 22 12:52:00 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon May 22 12:52:00 2017 -0700"
      },
      "message": "Undef EPOLL_CLOEXEC for pre-L.\n\nSome third-party code uses the existence of EPOLL_CLOEXEC to detect\nthe availability of epoll_create1. This is not correct, since having\nup-to-date UAPI headers says nothing about the C library, but for the\ntime being we don\u0027t want to harm adoption to the unified headers.\nWe\u0027ll undef EPOLL_CLOEXEC if we don\u0027t have epoll_create1 for the time\nbeing, and maybe revisit this later.\n\nTest: make checkbuild\nBug: https://github.com/android-ndk/ndk/issues/302\nBug: https://github.com/android-ndk/ndk/issues/394\nChange-Id: I8ee9ce62768fb174070ec51d114f477389befc4a\n"
    },
    {
      "commit": "893fd97cdcfbb040c938acac42658c885da879ee",
      "tree": "0895bc2463681e35c48805993bbcc95c01b581e9",
      "parents": [
        "c84e8a507cd0384f9124d06ec6cc70807b4c293b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 22 23:22:51 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 23 17:26:24 2017 -0800"
      },
      "message": "Use \u003clinux/eventpoll.h\u003e to implement \u003csys/epoll.h\u003e.\n\nBug: https://github.com/android-ndk/ndk/issues/302\nTest: builds\nChange-Id: Ia3074326a128c38f2488e342c028cc030801cfd9\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": "9ded07cff6c73bd3ea1bbc874180139d3a5d6f0c",
      "tree": "e499bb2b4b0b78e78692683e3018fb6f798ce942",
      "parents": [
        "4356adc3f46707b2664576857d7f4d8d6b0a81e2"
      ],
      "author": {
        "name": "Philip Hatcher",
        "email": "philip.hatcher@intel.com",
        "time": "Tue Feb 25 14:16:37 2014 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 05 19:48:55 2014 -0700"
      },
      "message": "bionic: make epoll_event structure packed\n\nDescription: In the kernel the epoll_event structure is packed\nin 64 bit kernel builds to allow the structure to be more easily\ncompatible with 32 bit user space.  As a result, when user space\nis 64-bit the structure must be packed as well.\n\nAdd unit test to show the ptr alignment issue.\n\nChange-Id: I2c4848d5e38a357219091f350f9b6e3da05090da\nSigned-off-by: Philip Hatcher \u003cphilip.hatcher@intel.com\u003e\nSigned-off-by: Fengwei Yin \u003cfengwei.yin@intel.com\u003e\nReviewed-by: Hazarika, Prodyut \u003cprodyut.hazarika@intel.com\u003e\nTested-by: Hazarika, Prodyut \u003cprodyut.hazarika@intel.com\u003e\n"
    },
    {
      "commit": "11952073af22568bba0b661f7a9d4402c443a888",
      "tree": "c4ae77a40e8e309219cd4ab993a39d92f3d13e50",
      "parents": [
        "cdac5f73aca015287d1f40ff50d4fbf293a0c549"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 24 15:15:14 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 24 15:48:32 2013 -0700"
      },
      "message": "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.\n\n(aarch64 kernels don\u0027t have these system calls.)\n\nChange-Id: I6f64075aa412f71520f2df71c3d69b647f91c1ca\n"
    },
    {
      "commit": "93de3d881d8c24eddadf0c5b5dce0754fcca67ae",
      "tree": "bec108dbbba7945233ebe85c23b130bda6909bc6",
      "parents": [
        "97dc3309f3d403c391581444ad656c2f3c61303d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 23 11:25:54 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 23 11:25:54 2013 -0700"
      },
      "message": "Fix header file dependencies.\n\nMIPS\u0027 asm/fcntl.h assumes a bunch of __kernel_* types are already declared.\n\nChange-Id: Iff701bbb5ede9667a78230c2de3a8f4fe41371c5\n"
    },
    {
      "commit": "cac7b9d6ec1a09814bc028e2f768db732f018891",
      "tree": "3278eba969b89888065d93f36be63eb68f463242",
      "parents": [
        "ec40edc9188aebe5207e47c0a66e89e1ed368bd6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 23 09:48:29 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 23 09:48:29 2013 -0700"
      },
      "message": "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.\n\n(aarch64 kernels only have the newer system calls.)\n\nAlso expose the new functionality that\u0027s exposed by glibc in our header files.\n\nChange-Id: I45d2d168a03f88723d1f7fbf634701006a4843c5\n"
    },
    {
      "commit": "b0a2fc35d6d1abf8bd37985e9e7181dc4cea83aa",
      "tree": "9b35b4487918deab14b7aa56d0cf0314445e0378",
      "parents": [
        "f0f4fa3fb1ea8623b1e1bc59f7967e0470c8e532"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Thu May 09 14:38:39 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 14 14:48:43 2013 -0700"
      },
      "message": "epoll: add EPOLLRDHUP, EPOLLWAKEUP, and EPOLLONESHOT events\n\n(cherry-pick of d1ad4f6dab06189d4d3dcfa19ae4bc301481eb3f.)\n\nChange-Id: I4a8476bff068951533d4188de94097c8b84bc489\n"
    },
    {
      "commit": "49f0a8f23bba188466c6ee3652858ef4da228c6f",
      "tree": "fd0c67133f0ad6e856a7a56a1f27333131ef40e3",
      "parents": [
        "cdcc2648baa3ad62c497fbc87c36de590f9f9f97"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 09 14:05:43 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 09 14:05:43 2010 -0800"
      },
      "message": "Fix \u003csys/epoll.h\u003e and \u003csys/system_properties.h\u003e to include proper C++ inclusion guards\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": "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"
    }
  ]
}
