From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5D45AA051C; Sat, 20 Jun 2020 23:05:21 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A04401BFB1; Sat, 20 Jun 2020 23:05:20 +0200 (CEST) Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) by dpdk.org (Postfix) with ESMTP id 271271BFAE for ; Sat, 20 Jun 2020 23:05:19 +0200 (CEST) Received: by mail-lj1-f196.google.com with SMTP id n23so15245028ljh.7 for ; Sat, 20 Jun 2020 14:05:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=PR6v9EsWsix4dFc8R8cPect1EpTYk/hheGBzO1NA9yQ=; b=BLRcI6E6S4rgHjM38nUSt6kBXyjoMxppsgyLf1oRdnQSCwr5WT1C1dIJww/wEQ7KRD 2RpF9c9hyTm+0xVCXhdhHNSEQt/TQfVwiOcPpLWqsQAsmZfkdkqvnvKGoj8J9mZG2PXx ZgmBeEBeOOjZzLteorNdIH/iQOamjBfe4ClxlNZMDCZAbSTIi+ILUd1zlbmcY/PRwUdc WmtkR4fhMShZMyP0atlWVqhQIYHxi0BQraF3pK332k77ISIjwCHDsGjxLTKsV9mrLdsx z1SmKmPS2BcJDNyHfe6mB/whIZ/Vh5UZHHYGRnVfdN1cCdbvZFGuVNM6RDZPdNxGqf/C Yu/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=PR6v9EsWsix4dFc8R8cPect1EpTYk/hheGBzO1NA9yQ=; b=KqIe3+l1u6mvh61p5zU32lBoNxK2156JHmFiHE50UfZGOCPS1Eo8ltSX7cAP+kR5Dh 1ywPX25nVB8gQfv2o4QukrU/tyLEKTqEK4GmH3OtcunP1eCZLs3vg/G1qsW95JuyR4y/ vTP2g+m4hogwwNixpug7uXzgk82xKMkw9xDMqdEheqXZnO6e0v4x23HeVE79+EM9tD82 RGE99MgHYvxBySV7beKQE6zmmrC3s/SxPoSofGaV0bL/X2Gkn2JWMOCY81eXreTSfbuC M0ZzC/WgBS1mRGC4k5CvLfULvRylpGGw5GeqX4i5jeuja0VVIAqWtmZTh2j2UdWzLIfj j5zg== X-Gm-Message-State: AOAM5335tasRVKwv9BNmD05N6PQTnMrEULJtMPDTVcaZTD/l7hgsXIv7 YxGYE5Y7sv5H37bw05E36wRNe2n34VoPAA== X-Google-Smtp-Source: ABdhPJx8jKLIzEUT8hFAbyS+Q+varThyQpGLz8Ot2S/mTsMTqQk8FYyzfzPyACnc+qAMDqIObr8+mg== X-Received: by 2002:a2e:870f:: with SMTP id m15mr4724730lji.392.1592687118461; Sat, 20 Jun 2020 14:05:18 -0700 (PDT) Received: from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru. [37.110.65.23]) by smtp.gmail.com with ESMTPSA id d8sm2653359lfk.27.2020.06.20.14.05.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2020 14:05:17 -0700 (PDT) From: Dmitry Kozlyuk To: dev@dpdk.org Cc: Dmitry Malloy , Narcisa Ana Maria Vasile , Fady Bader , Tal Shnaiderman , Dmitry Kozlyuk Date: Sun, 21 Jun 2020 00:05:03 +0300 Message-Id: <20200620210511.13134-1-dmitry.kozliuk@gmail.com> X-Mailer: git-send-email 2.25.4 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 0/7] cmdline: support Windows X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patchset enables librte_cmdline on Windows. To do that, it creates a number of wrappers for OS-dependent terminal handling and I/O. Considered alternative was to revive [1] and use libedit (Unix-only) for terminal handling. However, testing revealed that WinEditLine [2] is not a drop-in replacement for libedit, so this solution wouldn't be universal. Note: not all dependency series are up-to-date at the time of submission, so this version may require hacking to test. [1]: http://patchwork.dpdk.org/patch/38561 [2]: http://mingweditline.sourceforge.net --- Depends-on: series-10512 ("Windows bus/pci support ") Depends-on: series-10244 ("[v4] eal/windows: ring build on Windows") Depends-on: series-10282 ("build mempool on Windows ") Depends-on: series-10382 ("compile librte_net for windows") Dmitry Kozlyuk (7): cmdline: make implementation opaque cmdline: add internal wrappers for terminal handling cmdline: add internal wrappers for character input cmdline: add internal wrapper for vdprintf eal/windows: improve compatibility networking headers cmdline: support Windows examples/cmdline: build on Windows app/test-cmdline/commands.c | 8 +- app/test/test_cmdline_lib.c | 42 ++-- config/meson.build | 2 + examples/cmdline/commands.c | 1 - examples/cmdline/main.c | 1 - examples/meson.build | 6 +- lib/librte_cmdline/Makefile | 4 + lib/librte_cmdline/cmdline.c | 29 +-- lib/librte_cmdline/cmdline.h | 15 +- lib/librte_cmdline/cmdline_os_unix.c | 53 +++++ lib/librte_cmdline/cmdline_os_windows.c | 207 ++++++++++++++++++++ lib/librte_cmdline/cmdline_parse.c | 4 +- lib/librte_cmdline/cmdline_private.h | 61 ++++++ lib/librte_cmdline/cmdline_socket.c | 25 +-- lib/librte_cmdline/cmdline_vt100.c | 1 - lib/librte_cmdline/cmdline_vt100.h | 4 + lib/librte_cmdline/meson.build | 6 + lib/librte_cmdline/rte_cmdline_version.map | 8 + lib/librte_eal/windows/include/arpa/inet.h | 30 +++ lib/librte_eal/windows/include/netinet/in.h | 11 ++ lib/librte_eal/windows/include/pthread.h | 2 +- lib/librte_eal/windows/include/sys/socket.h | 24 +++ lib/meson.build | 1 + 23 files changed, 470 insertions(+), 75 deletions(-) create mode 100644 lib/librte_cmdline/cmdline_os_unix.c create mode 100644 lib/librte_cmdline/cmdline_os_windows.c create mode 100644 lib/librte_cmdline/cmdline_private.h create mode 100644 lib/librte_eal/windows/include/arpa/inet.h create mode 100644 lib/librte_eal/windows/include/sys/socket.h -- 2.25.4