eal: make OS shims internal
[dpdk.git] / lib / librte_cmdline / cmdline_socket.c
index ecb3d82..998e8ad 100644 (file)
 #include <stdarg.h>
 #include <inttypes.h>
 #include <fcntl.h>
-#include <termios.h>
 
-#include "cmdline_parse.h"
-#include "cmdline_rdline.h"
-#include "cmdline_socket.h"
 #include "cmdline.h"
+#include "cmdline_private.h"
+#include "cmdline_socket.h"
 
 struct cmdline *
 cmdline_file_new(cmdline_parse_ctx_t *ctx, const char *prompt, const char *path)
@@ -39,18 +37,11 @@ struct cmdline *
 cmdline_stdin_new(cmdline_parse_ctx_t *ctx, const char *prompt)
 {
        struct cmdline *cl;
-       struct termios oldterm, term;
-
-       tcgetattr(0, &oldterm);
-       memcpy(&term, &oldterm, sizeof(term));
-       term.c_lflag &= ~(ICANON | ECHO | ISIG);
-       tcsetattr(0, TCSANOW, &term);
-       setbuf(stdin, NULL);
 
        cl = cmdline_new(ctx, prompt, 0, 1);
 
-       if (cl)
-               memcpy(&cl->oldterm, &oldterm, sizeof(term));
+       if (cl != NULL)
+               terminal_adjust(cl);
 
        return cl;
 }
@@ -58,8 +49,8 @@ cmdline_stdin_new(cmdline_parse_ctx_t *ctx, const char *prompt)
 void
 cmdline_stdin_exit(struct cmdline *cl)
 {
-       if (!cl)
+       if (cl == NULL)
                return;
 
-       tcsetattr(fileno(stdin), TCSANOW, &cl->oldterm);
+       terminal_restore(cl);
 }