f-stack/dpdk/lib/librte_cmdline/cmdline_socket.c

61 lines
1.1 KiB
C
Raw Normal View History

2019-06-25 11:12:58 +00:00
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2010-2014 Intel Corporation.
2017-04-21 10:43:26 +00:00
* Copyright (c) 2009, Olivier MATZ <zer0@droids-corp.org>
* All rights reserved.
*/
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdarg.h>
#include <inttypes.h>
#include <fcntl.h>
#include "cmdline.h"
2021-02-05 08:48:47 +00:00
#include "cmdline_private.h"
#include "cmdline_socket.h"
#ifdef RTE_EXEC_ENV_WINDOWS
#define open _open
#endif
2017-04-21 10:43:26 +00:00
struct cmdline *
cmdline_file_new(cmdline_parse_ctx_t *ctx, const char *prompt, const char *path)
{
int fd;
/* everything else is checked in cmdline_new() */
if (!path)
return NULL;
fd = open(path, O_RDONLY, 0);
if (fd < 0) {
dprintf("open() failed\n");
return NULL;
}
return cmdline_new(ctx, prompt, fd, -1);
}
struct cmdline *
cmdline_stdin_new(cmdline_parse_ctx_t *ctx, const char *prompt)
{
struct cmdline *cl;
cl = cmdline_new(ctx, prompt, 0, 1);
2021-02-05 08:48:47 +00:00
if (cl != NULL)
terminal_adjust(cl);
2017-04-21 10:43:26 +00:00
return cl;
}
void
cmdline_stdin_exit(struct cmdline *cl)
{
2021-02-05 08:48:47 +00:00
if (cl == NULL)
2017-04-21 10:43:26 +00:00
return;
2021-02-05 08:48:47 +00:00
terminal_restore(cl);
2017-04-21 10:43:26 +00:00
}