1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2010-2014 Intel Corporation. 3 * Copyright (c) 2009, Olivier MATZ <zer0@droids-corp.org> 4 * All rights reserved. 5 */ 6 7 #ifndef _CMDLINE_H_ 8 #define _CMDLINE_H_ 9 10 #include <rte_common.h> 11 #include <rte_compat.h> 12 13 #include <cmdline_rdline.h> 14 #include <cmdline_parse.h> 15 16 /** 17 * @file 18 * 19 * Command line API 20 */ 21 22 #ifdef __cplusplus 23 extern "C" { 24 #endif 25 26 struct cmdline; 27 28 struct cmdline *cmdline_new(cmdline_parse_ctx_t *ctx, const char *prompt, int s_in, int s_out); 29 void cmdline_set_prompt(struct cmdline *cl, const char *prompt); 30 void cmdline_free(struct cmdline *cl); 31 void cmdline_printf(const struct cmdline *cl, const char *fmt, ...) 32 __rte_format_printf(2, 3); 33 int cmdline_in(struct cmdline *cl, const char *buf, int size); 34 int cmdline_write_char(struct rdline *rdl, char c); 35 36 __rte_experimental 37 struct rdline * 38 cmdline_get_rdline(struct cmdline *cl); 39 40 /** 41 * This function is nonblocking equivalent of ``cmdline_interact()``. It polls 42 * *cl* for one character and interpret it. If return value is *RDLINE_EXITED* 43 * it mean that ``cmdline_quit()`` was invoked. 44 * 45 * @param cl 46 * The command line object. 47 * 48 * @return 49 * On success return object status - one of *enum rdline_status*. 50 * On error return negative value. 51 */ 52 int cmdline_poll(struct cmdline *cl); 53 54 void cmdline_interact(struct cmdline *cl); 55 void cmdline_quit(struct cmdline *cl); 56 57 #ifdef __cplusplus 58 } 59 #endif 60 61 #endif /* _CMDLINE_SOCKET_H_ */ 62