From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5282AA0548; Sat, 11 Sep 2021 01:16:53 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 118B3410DA; Sat, 11 Sep 2021 01:16:50 +0200 (CEST) Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) by mails.dpdk.org (Postfix) with ESMTP id EDE1B4003E for ; Sat, 11 Sep 2021 01:16:47 +0200 (CEST) Received: by mail-lj1-f180.google.com with SMTP id s12so5774785ljg.0 for ; Fri, 10 Sep 2021 16:16:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NJsZ2OCK3rkY8Ws8j9peyAfAXzBMrz+DeiGEAs0S+bY=; b=ZRveBPs3O/bCZxhCNwa7sDMF8GXjmdWkiq2IXvZ22JjitKZJunh0EVR4hxQoThFQTe /clkomvABLL4qa17pzlNy9igT0QCd46nR5wlP7PQJoAAIuoD3hHnQGNPsV8aZy+jhv7p KesLAJMsGrGidR3xsawNOirntzoQvYDldBwq0CMupiqYSlh4ml7RGdLGooDR6FBronB0 quGGHzTSQu8lC3bfYH5yR2kuMoLM/+NzqH1HiqwsXc83hfuMtBji+1r9G7UzoIIROoqe noZdI6/zc6QH2cgKCYoiCbWuN1pB2pZ4A0+dQW9FllZOWDtg+2JqnKUquc8yeTYlBwHr ozqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NJsZ2OCK3rkY8Ws8j9peyAfAXzBMrz+DeiGEAs0S+bY=; b=Z8J2Tqj2+3t4tVmNRh++6R29sDVwCtmp5pVkp7/j02zq/jFCsph+sAzLTRi5UZMtOG ic92elO9TqbLbDkPDUsLSOMJO0mfXvhgl9BqE7v/aBxJT8jXzPFkga9ybeqy/4L3EVwE IvCQaS7HpCXA/a0Sr8yHD8ZponEegLHIF391QM76b+gYHEEsCI0dXHNgnMgSMwDcQzaY EjtJbzUMX6pEyyeGRhyqL2ITf9luOOai+EkbI7PxlvzXgMBhgV8GQtEdnZXfPnL+br+x tjf7O4H+kpVPccogGwhTyzGPhsVmgqBu3QMEPLSvzczAiyud+FOT01V6bEQWqskAa2xh EF+A== X-Gm-Message-State: AOAM531XzgEARINK+LsAnIoIoH/NosT+zRN/bs89R6EUnetio2SXBiGX CscwyinkO7nLRaOxKo5VQsMqNXvqa0Q= X-Google-Smtp-Source: ABdhPJyPUk1Oh6+l/4u8xEzdI2IMLiD7DofEln8ImjWDqiZ/XL5wjF709fjKZf9eHO6dWthS7cYUjQ== X-Received: by 2002:a2e:86d6:: with SMTP id n22mr61034ljj.416.1631315807212; Fri, 10 Sep 2021 16:16:47 -0700 (PDT) Received: from sovereign.. (broadband-37-110-65-23.ip.moscow.rt.ru. [37.110.65.23]) by smtp.gmail.com with ESMTPSA id n3sm11572lft.63.2021.09.10.16.16.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Sep 2021 16:16:45 -0700 (PDT) From: Dmitry Kozlyuk To: dev@dpdk.org Cc: Dmitry Kozlyuk , Ray Kinsella , Olivier Matz Date: Sat, 11 Sep 2021 02:16:39 +0300 Message-Id: <20210910231639.789066-2-dmitry.kozliuk@gmail.com> X-Mailer: git-send-email 2.29.3 In-Reply-To: <20210910231639.789066-1-dmitry.kozliuk@gmail.com> References: <20210910231639.789066-1-dmitry.kozliuk@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH] cmdline: reduce ABI X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Remove the definition of `struct cmdline` from public header. Deprecation notice: https://mails.dpdk.org/archives/dev/2020-September/183310.html Signed-off-by: Dmitry Kozlyuk --- I would also hide struct rdline to be able to alter buffer size, but we don't have a deprecation notice for it. doc/guides/rel_notes/deprecation.rst | 4 ---- doc/guides/rel_notes/release_21_11.rst | 2 ++ lib/cmdline/cmdline.h | 19 ------------------- lib/cmdline/cmdline_private.h | 8 +++++++- 4 files changed, 9 insertions(+), 24 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 76a4abfd6b..a404276fa2 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -275,10 +275,6 @@ Deprecation Notices * metrics: The function ``rte_metrics_init`` will have a non-void return in order to notify errors instead of calling ``rte_exit``. -* cmdline: ``cmdline`` structure will be made opaque to hide platform-specific - content. On Linux and FreeBSD, supported prior to DPDK 20.11, - original structure will be kept until DPDK 21.11. - * security: The functions ``rte_security_set_pkt_metadata`` and ``rte_security_get_userdata`` will be made inline functions and additional flags will be added in structure ``rte_security_ctx`` in DPDK 21.11. diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst index 675b573834..be73d17ef6 100644 --- a/doc/guides/rel_notes/release_21_11.rst +++ b/doc/guides/rel_notes/release_21_11.rst @@ -91,6 +91,8 @@ API Changes Also, make sure to start the actual text at the margin. ======================================================= +* cmdline: Made ``cmdline`` structure definition hidden on Linux and FreeBSD. + ABI Changes ----------- diff --git a/lib/cmdline/cmdline.h b/lib/cmdline/cmdline.h index c29762ddae..96674dfda2 100644 --- a/lib/cmdline/cmdline.h +++ b/lib/cmdline/cmdline.h @@ -7,10 +7,6 @@ #ifndef _CMDLINE_H_ #define _CMDLINE_H_ -#ifndef RTE_EXEC_ENV_WINDOWS -#include -#endif - #include #include @@ -27,23 +23,8 @@ extern "C" { #endif -#ifndef RTE_EXEC_ENV_WINDOWS - -struct cmdline { - int s_in; - int s_out; - cmdline_parse_ctx_t *ctx; - struct rdline rdl; - char prompt[RDLINE_PROMPT_SIZE]; - struct termios oldterm; -}; - -#else - struct cmdline; -#endif /* RTE_EXEC_ENV_WINDOWS */ - struct cmdline *cmdline_new(cmdline_parse_ctx_t *ctx, const char *prompt, int s_in, int s_out); void cmdline_set_prompt(struct cmdline *cl, const char *prompt); void cmdline_free(struct cmdline *cl); diff --git a/lib/cmdline/cmdline_private.h b/lib/cmdline/cmdline_private.h index a87c45275c..2e93674c66 100644 --- a/lib/cmdline/cmdline_private.h +++ b/lib/cmdline/cmdline_private.h @@ -11,6 +11,8 @@ #include #ifdef RTE_EXEC_ENV_WINDOWS #include +#else +#include #endif #include @@ -22,6 +24,7 @@ struct terminal { int is_console_input; int is_console_output; }; +#endif struct cmdline { int s_in; @@ -29,11 +32,14 @@ struct cmdline { cmdline_parse_ctx_t *ctx; struct rdline rdl; char prompt[RDLINE_PROMPT_SIZE]; +#ifdef RTE_EXEC_ENV_WINDOWS struct terminal oldterm; char repeated_char; WORD repeat_count; -}; +#else + struct termios oldterm; #endif +}; /* Disable buffering and echoing, save previous settings to oldterm. */ void terminal_adjust(struct cmdline *cl); -- 2.29.3