get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 808309,
    "url": "http://patchwork.ozlabs.org/api/patches/808309/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/20170831165623.8B0DC43994318@oldenburg.str.redhat.com/",
    "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": "<20170831165623.8B0DC43994318@oldenburg.str.redhat.com>",
    "list_archive_url": null,
    "date": "2017-08-31T16:56:23",
    "name": "[COMMITTED] inet: Remove internal_function attribute",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "2fb1776c6089630d5b6021dbbe3ebbb53244e3a5",
    "submitter": {
        "id": 14312,
        "url": "http://patchwork.ozlabs.org/api/people/14312/?format=api",
        "name": "Florian Weimer",
        "email": "fweimer@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/glibc/patch/20170831165623.8B0DC43994318@oldenburg.str.redhat.com/mbox/",
    "series": [
        {
            "id": 874,
            "url": "http://patchwork.ozlabs.org/api/series/874/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=874",
            "date": "2017-08-31T16:56:23",
            "name": "[COMMITTED] inet: Remove internal_function attribute",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/874/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/808309/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/808309/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<libc-alpha-return-83954-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-83954-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=\"Jq67/Nan\"; dkim-atps=neutral",
            "sourceware.org; auth=none",
            "ext-mx02.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com",
            "ext-mx02.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=fweimer@redhat.com"
        ],
        "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 3xjpSB2xsbz9s81\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  1 Sep 2017 02:56:42 +1000 (AEST)",
            "(qmail 34761 invoked by alias); 31 Aug 2017 16:56:36 -0000",
            "(qmail 34711 invoked by uid 89); 31 Aug 2017 16:56:36 -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:date:to:subject:mime-version:content-type\n\t:content-transfer-encoding:message-id:from; q=dns; s=default; b=\n\tE83qetFau2ssEyoLYdKqYbvZgrF/mpTGRfo+Y8U2WTIcGsIhywxq5+Pvt5MkKX91\n\tzESWlopHGUvRI4FCftmQjrpBuwLX1G9TRdUeHiWcOEWMnfSKUgSyh1FtrNnDs2a+\n\tB/M0nSBNxR1blwH9Phj/ShuYyMXEU9krDrhUJzdD3FY=",
        "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:date:to:subject:mime-version:content-type\n\t:content-transfer-encoding:message-id:from; s=default; bh=8WyU1B\n\tiXgMKBuQHSGoV9A9hVMYg=; b=Jq67/Nan0l6LIe5spUzpFnxpqJ8pY2eA4RsWtU\n\tcBhNCu2Ve1S/19ShyROEshH42opnfNXqEmkvrnvOsSMg0RwbA0h9d1I5Tp1q1OEF\n\tcwlpTaLHlrk5eb2ftXnGKiVHExy7VDkUkcIu3V02IX/z1b3C61PPURvbff8pg1Nj\n\tURBDA=",
        "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.9 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RP_MATCHES_RCVD,\n\tSPF_HELO_PASS autolearn=ham version=3.3.2 spammy=poll, 999999,\n\t2866",
        "X-HELO": "mx1.redhat.com",
        "DMARC-Filter": "OpenDMARC Filter v1.3.2 mx1.redhat.com C597F883AC",
        "Date": "Thu, 31 Aug 2017 18:56:23 +0200",
        "To": "libc-alpha@sourceware.org",
        "Subject": "[PATCH COMMITTED] inet: Remove internal_function attribute",
        "User-Agent": "Heirloom mailx 12.5 7/5/10",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=us-ascii",
        "Content-Transfer-Encoding": "7bit",
        "Message-Id": "<20170831165623.8B0DC43994318@oldenburg.str.redhat.com>",
        "From": "fweimer@redhat.com (Florian Weimer)"
    },
    "content": "2017-08-31  Florian Weimer  <fweimer@redhat.com>\n\n\t* inet/deadline.c (__deadline_current_time)\n\t(__deadline_from_timeval, __deadline_to_ms): Remove\n\tinternal_function.\n\t* inet/getnameinfo.c (nrl_domainname): Likewise.\n\t* inet/getnetgrent_r.c (__internal_setnetgrent_reuse): Likewise.\n\t* inet/inet6_option.c (add_pad): Likewise.\n\t* inet/net-internal.h (__deadline_current_time)\n\t(__deadline_from_timeval, __deadline_to_ms): Likewise.\n\t* inet/rcmd.c (__checkhost_sa, __icheckuser): Likewise.\n\t* sysdeps/mach/hurd/if_index.c (__protocol_available): Likewise.\n\t* sysdeps/unix/sysv/linux/ifaddrs.c (map_newlink): Likewise.",
    "diff": "diff --git a/inet/deadline.c b/inet/deadline.c\nindex c1fa415a39..5893f2206a 100644\n--- a/inet/deadline.c\n+++ b/inet/deadline.c\n@@ -24,7 +24,7 @@\n #include <stdint.h>\n #include <time.h>\n \n-struct deadline_current_time internal_function\n+struct deadline_current_time\n __deadline_current_time (void)\n {\n   struct deadline_current_time result;\n@@ -48,7 +48,7 @@ infinite_deadline (void)\n   return (struct deadline) { { -1, -1 } };\n }\n \n-struct deadline internal_function\n+struct deadline\n __deadline_from_timeval (struct deadline_current_time current,\n                          struct timeval tv)\n {\n@@ -79,7 +79,7 @@ __deadline_from_timeval (struct deadline_current_time current,\n   return (struct deadline) { { sec, nsec } };\n }\n \n-int internal_function\n+int\n __deadline_to_ms (struct deadline_current_time current,\n                   struct deadline deadline)\n {\ndiff --git a/inet/getnameinfo.c b/inet/getnameinfo.c\nindex 5d2b9b7559..b41e555f3c 100644\n--- a/inet/getnameinfo.c\n+++ b/inet/getnameinfo.c\n@@ -86,7 +86,6 @@ libc_freeres_ptr (static char *domain);\n \n \n static char *\n-internal_function\n nrl_domainname (void)\n {\n   static int not_first;\ndiff --git a/inet/getnetgrent_r.c b/inet/getnetgrent_r.c\nindex 89fefeb612..de5c50483c 100644\n--- a/inet/getnetgrent_r.c\n+++ b/inet/getnetgrent_r.c\n@@ -110,7 +110,6 @@ endnetgrent_hook (struct __netgrent *datap)\n }\n \n static int\n-internal_function\n __internal_setnetgrent_reuse (const char *group, struct __netgrent *datap,\n \t\t\t      int *errnop)\n {\ndiff --git a/inet/inet6_option.c b/inet/inet6_option.c\nindex f6d9b5dffe..b37db47dbb 100644\n--- a/inet/inet6_option.c\n+++ b/inet/inet6_option.c\n@@ -24,7 +24,6 @@\n \n \n static void\n-internal_function\n add_pad (struct cmsghdr *cmsg, int len)\n {\n   unsigned char *p = CMSG_DATA (cmsg) + cmsg->cmsg_len - CMSG_LEN (0);\ndiff --git a/inet/net-internal.h b/inet/net-internal.h\nindex b2135893e8..74ee8bccd9 100644\n--- a/inet/net-internal.h\n+++ b/inet/net-internal.h\n@@ -53,8 +53,7 @@ struct deadline_current_time\n \n /* Return the current time.  Terminates the process if the current\n    time is not available.  */\n-struct deadline_current_time __deadline_current_time (void)\n-  internal_function attribute_hidden;\n+struct deadline_current_time __deadline_current_time (void) attribute_hidden;\n \n /* Computed absolute deadline.  */\n struct deadline\n@@ -97,15 +96,14 @@ __deadline_first (struct deadline left, struct deadline right)\n /* Add TV to the current time and return it.  Returns a special\n    infinite absolute deadline on overflow.  */\n struct deadline __deadline_from_timeval (struct deadline_current_time,\n-                                         struct timeval tv)\n-  internal_function attribute_hidden;\n+                                         struct timeval tv) attribute_hidden;\n \n /* Compute the number of milliseconds until the specified deadline,\n    from the current time in the argument.  The result is mainly for\n    use with poll.  If the deadline has already passed, return 0.  If\n    the result would overflow an int, return INT_MAX.  */\n int __deadline_to_ms (struct deadline_current_time, struct deadline)\n-  internal_function attribute_hidden;\n+  attribute_hidden;\n \n /* Return true if TV.tv_sec is non-negative and TV.tv_usec is in the\n    interval [0, 999999].  */\ndiff --git a/inet/rcmd.c b/inet/rcmd.c\nindex 976894c2c5..8a9616f847 100644\n--- a/inet/rcmd.c\n+++ b/inet/rcmd.c\n@@ -646,7 +646,6 @@ __ivaliduser (FILE *hostf, uint32_t raddr, const char *luser,\n \n /* Returns 1 on positive match, 0 on no match, -1 on negative match.  */\n static int\n-internal_function\n __checkhost_sa (struct sockaddr *ra, size_t ralen, char *lhost,\n \t\tconst char *rhost)\n {\n@@ -700,7 +699,6 @@ __checkhost_sa (struct sockaddr *ra, size_t ralen, char *lhost,\n \n /* Returns 1 on positive match, 0 on no match, -1 on negative match.  */\n static int\n-internal_function\n __icheckuser (const char *luser, const char *ruser)\n {\n     /*\ndiff --git a/sysdeps/mach/hurd/if_index.c b/sysdeps/mach/hurd/if_index.c\nindex 2b9041a3ba..5cd8244698 100644\n--- a/sysdeps/mach/hurd/if_index.c\n+++ b/sysdeps/mach/hurd/if_index.c\n@@ -187,7 +187,6 @@ libc_hidden_weak (if_indextoname)\n \n #if 0\n void\n-internal_function\n __protocol_available (int *have_inet, int *have_inet6)\n {\n   *have_inet = _hurd_socket_server (PF_INET, 0) != MACH_PORT_NULL;\ndiff --git a/sysdeps/unix/sysv/linux/ifaddrs.c b/sysdeps/unix/sysv/linux/ifaddrs.c\nindex 3bc9902863..f25f67a129 100644\n--- a/sysdeps/unix/sysv/linux/ifaddrs.c\n+++ b/sysdeps/unix/sysv/linux/ifaddrs.c\n@@ -286,7 +286,6 @@ __netlink_open (struct netlink_handle *h)\n    Since we get at first all RTM_NEWLINK entries, it can never happen\n    that a RTM_NEWADDR index is not known to this map.  */\n static int\n-internal_function\n map_newlink (int index, struct ifaddrs_storage *ifas, int *map, int max)\n {\n   int i;\n",
    "prefixes": [
        "COMMITTED"
    ]
}