Show a cover letter.

GET /api/covers/428/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 428,
    "url": "http://patchwork.dpdk.org/api/covers/428/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20231122164550.3873633-1-euan.bourke@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20231122164550.3873633-1-euan.bourke@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231122164550.3873633-1-euan.bourke@intel.com",
    "date": "2023-11-22T16:45:46",
    "name": "[24.03,0/4] add new command line argument parsing library",
    "submitter": {
        "id": 3231,
        "url": "http://patchwork.dpdk.org/api/people/3231/?format=api",
        "name": "Euan Bourke",
        "email": "euan.bourke@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20231122164550.3873633-1-euan.bourke@intel.com/mbox/",
    "series": [
        {
            "id": 30362,
            "url": "http://patchwork.dpdk.org/api/series/30362/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=30362",
            "date": "2023-11-22T16:45:46",
            "name": "add new command line argument parsing library",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/30362/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/428/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id D781743382;\n\tWed, 22 Nov 2023 17:47:57 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 54227410F2;\n\tWed, 22 Nov 2023 17:47:56 +0100 (CET)",
            "from mgamail.intel.com (mgamail.intel.com [134.134.136.31])\n by mails.dpdk.org (Postfix) with ESMTP id 911CE4028C\n for <dev@dpdk.org>; Wed, 22 Nov 2023 17:45:58 +0100 (CET)",
            "from fmsmga002.fm.intel.com ([10.253.24.26])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 22 Nov 2023 08:45:55 -0800",
            "from unknown (HELO silpixa00400630.ir.intel.com) ([10.237.213.151])\n by fmsmga002.fm.intel.com with ESMTP; 22 Nov 2023 08:45:55 -0800"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1700671557; x=1732207557;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=8ahnGYkk5bg2rd2rAvQowzqBXWUGKX3gPifLoblv3T8=;\n b=Hfo9CRI9sDZCY9NPfFkXhbkRwwjCtPq2EuxtlKLrfDA+OWMJRjochK2F\n tB0ZKaCZOBJ4RtlKBvtMwZIf56FPpnrBUEeW9ETJ2wgBzC3MOBUpWh+tw\n rtyCYbUWPm3Eziq9FL0w5+Ae8vEdOh7aLYs5S30medHuY7HzFXboAD7vh\n IxCAqnOxIO7M7BtzzHh8COelV/tcxK6PHxJ4PiQpgZ0SOGlC5SQq6OHns\n /QfGuE/Iwofq/SQpwQrzt/t+esNmn4K41AiYjnAep3Azyha8StzWLJyXu\n GHK0O9qGB/OJ4Fx7+kcAaHgmBzS9sX8Ieb6fGz5HGywZGV7+VodZJyK2z Q==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10902\"; a=\"456415980\"",
            "E=Sophos;i=\"6.04,219,1695711600\"; d=\"scan'208\";a=\"456415980\"",
            "E=McAfee;i=\"6600,9927,10902\"; a=\"884685067\"",
            "E=Sophos;i=\"6.04,219,1695711600\"; d=\"scan'208\";a=\"884685067\""
        ],
        "X-ExtLoop1": "1",
        "From": "Euan Bourke <euan.bourke@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "Euan Bourke <euan.bourke@intel.com>",
        "Subject": "[PATCH 24.03 0/4] add new command line argument parsing library",
        "Date": "Wed, 22 Nov 2023 16:45:46 +0000",
        "Message-Id": "<20231122164550.3873633-1-euan.bourke@intel.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Mailman-Approved-At": "Wed, 22 Nov 2023 17:47:54 +0100",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "A recent thread on the mailing list[1] discussed corelist and coremask parsing\nand the idea of a new library dedicated to command line parsing was\nmentioned[2]. As I had been working on a public corelist parsing API at the\ntime, this patchset adds the library, along with the new APIs, edits to EAL\nfunctions to call the API instead of implementing their own, and changes to\nthe dlb2 driver to call the API.\n\nThe new APIs work similar to existing functions in EAL, however instead of\nfilling a core array like this:\n[1, -1, -1, 2, 3] (a non -1 refers to an 'active core' at that index)\nIt fills it like this:\n[0, 3, 4] (with the value at each index being an 'active core').\n\nThe new APIs will also return the number of cores contained in the passed\ncorelist/coremask, so in the above example, 3 would be returned.\n\nPlanned future work for the library contains more parsing functions such as a\n\"core string parser\" which would take a string and return whether its a corelist\nor coremask based on heuristics. This could then be passed into the appropriate\nfunction.\n\nThere are also several functions in EAL that implement their own version of a\ncorelist/coremask parser, so the plan is to rework those in future versions of\nthis patch.\n\n[1] Link to start of thread:\nhttps://mails.dpdk.org/archives/dev/2023-November/280957.html\n[2] Link to the mention of a new library:\nhttps://mails.dpdk.org/archives/dev/2023-November/280966.html\n\nEuan Bourke (4):\n  arg_parser: new library for command line parsing\n  arg_parser: add new coremask parsing API\n  eal: add support for new arg parsing library\n  dlb2: add new arg parsing library API support\n\n .mailmap                                   |   1 +\n MAINTAINERS                                |   5 +\n doc/api/doxy-api-index.md                  |   3 +-\n doc/api/doxy-api.conf.in                   |   1 +\n drivers/event/dlb2/dlb2_priv.h             |   4 +-\n drivers/event/dlb2/pf/base/dlb2_resource.c |  54 +++----\n lib/arg_parser/arg_parser.c                | 171 +++++++++++++++++++++\n lib/arg_parser/meson.build                 |   7 +\n lib/arg_parser/rte_arg_parser.h            |  99 ++++++++++++\n lib/arg_parser/version.map                 |  11 ++\n lib/eal/common/eal_common_options.c        | 114 ++------------\n lib/eal/meson.build                        |   2 +-\n lib/meson.build                            |   1 +\n 13 files changed, 334 insertions(+), 139 deletions(-)\n create mode 100644 lib/arg_parser/arg_parser.c\n create mode 100644 lib/arg_parser/meson.build\n create mode 100644 lib/arg_parser/rte_arg_parser.h\n create mode 100644 lib/arg_parser/version.map"
}