From f43809d28c0b9e7b71afcde56a60fa578a4a7b5f Mon Sep 17 00:00:00 2001 From: Dmitry Kozlyuk Date: Fri, 8 Oct 2021 01:10:27 +0300 Subject: [PATCH] cmdline: make struct cmdline opaque 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 Acked-by: David Marchand Acked-by: Olivier Matz Acked-by: Narcisa Vasile --- 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 edfbe5d2d8..b460e1515f 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -175,10 +175,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. - * raw/ioat: The ``ioat`` rawdev driver has been deprecated, since it's functionality is provided through the new ``dmadev`` infrastructure. To continue to use hardware previously supported by the ``ioat`` rawdev driver, diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst index 048e509691..e74f214d2c 100644 --- a/doc/guides/rel_notes/release_21_11.rst +++ b/doc/guides/rel_notes/release_21_11.rst @@ -325,6 +325,8 @@ API Changes removed. Its usages have been replaced by a new function ``rte_kvargs_get_with_value()``. +* cmdline: Made ``cmdline`` structure definition hidden on Linux and FreeBSD. + * mempool: Added ``RTE_MEMPOOL_F_NON_IO`` flag to give a hint to DPDK components that objects from this pool will not be used for device IO (e.g. DMA). 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.20.1