get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/811200/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 811200,
    "url": "http://patchwork.ozlabs.org/api/patches/811200/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/20170907224219.12483-7-albert.aribaud@3adev.fr/",
    "project": {
        "id": 41,
        "url": "http://patchwork.ozlabs.org/api/projects/41/?format=api",
        "name": "GNU C Library",
        "link_name": "glibc",
        "list_id": "libc-alpha.sourceware.org",
        "list_email": "libc-alpha@sourceware.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170907224219.12483-7-albert.aribaud@3adev.fr>",
    "list_archive_url": null,
    "date": "2017-09-07T22:41:33",
    "name": "[RFC,06/52] Y2038: add struct __timespec64",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "5fb02d3ff0c3d7df3301748514715e493d7c0068",
    "submitter": {
        "id": 65557,
        "url": "http://patchwork.ozlabs.org/api/people/65557/?format=api",
        "name": "Albert ARIBAUD (3ADEV)",
        "email": "albert.aribaud@3adev.fr"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/glibc/patch/20170907224219.12483-7-albert.aribaud@3adev.fr/mbox/",
    "series": [
        {
            "id": 2074,
            "url": "http://patchwork.ozlabs.org/api/series/2074/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=2074",
            "date": "2017-09-07T22:41:27",
            "name": "Make GLIBC Y2038-proof",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/2074/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/811200/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/811200/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<libc-alpha-return-84324-incoming=patchwork.ozlabs.org@sourceware.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "mailing list libc-alpha@sourceware.org"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84324-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"pZg0exJ7\"; dkim-atps=neutral",
            "sourceware.org; auth=none"
        ],
        "Received": [
            "from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xpFqJ20Dyz9sCZ\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 08:43:40 +1000 (AEST)",
            "(qmail 62627 invoked by alias); 7 Sep 2017 22:42:55 -0000",
            "(qmail 62541 invoked by uid 89); 7 Sep 2017 22:42:55 -0000"
        ],
        "DomainKey-Signature": "a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:from:to:cc:subject:date:message-id:in-reply-to\n\t:references; q=dns; s=default; b=Sx+MLnf4DmKWaXGvgMMqZSMRH4Zv7T9\n\txgsPT9FsVyQEkBYYQmqBKvN0oXJn4eX4jDrRmjOMYYXUq9OzozpiD/W6h5eOWaiw\n\tWYsB7F+gss/5UNQc1IBujtsRx3mSP3BtAm1Qz7Jjp9tUPmZuAFnDq2s0uWMOLH4V\n\tsnJ8iKmcbycI=",
        "DKIM-Signature": "v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:from:to:cc:subject:date:message-id:in-reply-to\n\t:references; s=default; bh=aPf2gsniawz2MtQMhL7H2tFiToY=; b=pZg0e\n\txJ7UOcwQKjHpvUTqLEhqv07Ayy9RZv7n5W8IT+s2VA1sE6HFmu1K7WHy6yigxVxH\n\tz4Tj3Ldl2uIS8xYPuNuTKlZclA8d1YfomDhrg1RQokI0xXmfU2Ww3rDYzSbuzYKy\n\tDMkGbhZC6kVKQ7jn3BFB3LC30xpUq0DpgMAJfM=",
        "Mailing-List": "contact libc-alpha-help@sourceware.org; run by ezmlm",
        "Precedence": "bulk",
        "List-Id": "<libc-alpha.sourceware.org>",
        "List-Unsubscribe": "<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>",
        "List-Subscribe": "<mailto:libc-alpha-subscribe@sourceware.org>",
        "List-Archive": "<http://sourceware.org/ml/libc-alpha/>",
        "List-Post": "<mailto:libc-alpha@sourceware.org>",
        "List-Help": "<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>",
        "Sender": "libc-alpha-owner@sourceware.org",
        "X-Virus-Found": "No",
        "X-Spam-SWARE-Status": "No, score=-26.6 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3,\n\tKAM_LAZY_DOMAIN_SECURITY,\n\tRCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=",
        "X-HELO": "smtp6-g21.free.fr",
        "From": "\"Albert ARIBAUD (3ADEV)\" <albert.aribaud@3adev.fr>",
        "To": "libc-alpha@sourceware.org",
        "Cc": "\"Albert ARIBAUD (3ADEV)\" <albert.aribaud@3adev.fr>",
        "Subject": "[RFC PATCH 06/52] Y2038: add struct __timespec64",
        "Date": "Fri,  8 Sep 2017 00:41:33 +0200",
        "Message-Id": "<20170907224219.12483-7-albert.aribaud@3adev.fr>",
        "In-Reply-To": "<20170907224219.12483-6-albert.aribaud@3adev.fr>",
        "References": "<20170907224219.12483-1-albert.aribaud@3adev.fr>\n\t<20170907224219.12483-2-albert.aribaud@3adev.fr>\n\t<20170907224219.12483-3-albert.aribaud@3adev.fr>\n\t<20170907224219.12483-4-albert.aribaud@3adev.fr>\n\t<20170907224219.12483-5-albert.aribaud@3adev.fr>\n\t<20170907224219.12483-6-albert.aribaud@3adev.fr>"
    },
    "content": "To be Y2038-proof, struct __timespec64 needs its tv_sec field to\nbe a __time64_t rather than a __time_t. However, the question is\nwhich type should the tv_nsec field be.\n\nKeeping tv_nsec a long (32-bit) would be compatible with Posix\nrequirements but would result in the GLIBC struct timespec being\nbinary-incompatible with the Linux 64-bit struct timespec, which\ncontains a 64-bit, not 32-bit, signed tv_nsec field.\n\nIn order to maintain Posix compatibility yet simplify conversion\nbetween Posix and Linux struct timespec values, the Y2038-proof\nstruct time stores its tv_nsec field as a 32-bit signed integer\nplus a padding which can serve as a 64-bit sign extension. This\nboth meets Posix requirements and makes the GLIBC and Linux\nstruct timespec binary compatible.\n\nNote that in the API (which is not modified here, and will be\nlater alongside all Y2038-sensitive APIs), this padding is made\n'invisible' by defining it as an anonymous bitfield; whereas\nthe struct __timespec64 introduced here has a named field for\nthe padding, allowing implementations to read and write it.\n\nSigned-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>\n---\n include/time.h | 18 ++++++++++++++++++\n 1 file changed, 18 insertions(+)",
    "diff": "diff --git a/include/time.h b/include/time.h\nindex 79ab6ab6a1..c436c44539 100644\n--- a/include/time.h\n+++ b/include/time.h\n@@ -4,6 +4,8 @@\n #ifndef _ISOMAC\n # include <bits/types/locale_t.h>\n \n+#include <endian.h>\n+\n extern __typeof (strftime_l) __strftime_l;\n libc_hidden_proto (__strftime_l)\n extern __typeof (strptime_l) __strptime_l;\n@@ -18,6 +20,22 @@ libc_hidden_proto (localtime)\n libc_hidden_proto (strftime)\n libc_hidden_proto (strptime)\n \n+#if BYTE_ORDER == BIG_ENDIAN\n+struct __timespec64\n+{\n+  __time64_t tv_sec;\t\t/* Seconds */\n+  int tv_pad: 32;\t\t/* Padding named for checking/setting */\n+  __syscall_slong_t tv_nsec;\t/* Nanoseconds */\n+};\n+#else\n+struct __timespec64\n+{\n+  __time64_t tv_sec;\t\t/* Seconds */\n+  __syscall_slong_t tv_nsec;\t/* Nanoseconds */\n+  int tv_pad: 32;\t\t/* Padding named for checking/setting */\n+};\n+#endif\n+\n extern __typeof (clock_getres) __clock_getres;\n extern __typeof (clock_gettime) __clock_gettime;\n libc_hidden_proto (__clock_gettime)\n",
    "prefixes": [
        "RFC",
        "06/52"
    ]
}